phputf8轉漢字
1. php怎樣把utf8轉換為gbk
<?php@header("Content-type:text/html;charset=UTF-8");echo $str= '你好,這里是賣咖啡!';echo '<br />';echo iconv("UTF-8","gbk//TRANSLIT",$str);; //將字元串的編碼從UTF-8轉到GB2312
echo '<br />';echo iconv_substr($str, 1, 1, 'UTF-8'); //按字元個數截取而非位元組print_r(iconv_get_encoding()); //得到當前頁面編碼信息echo iconv_strlen($str, 'UTF-8'); //得到設定編碼的字元串長度?>
2. 如何用PHP將JAVASCRIPT的UTF-8轉義字元轉換成漢字
有轉換字元編碼的函數啊。
$text=iconv("GB2312","UTF-8",$text);例如這樣。
不過不知道你的文件編碼是什麼。
3. php中用utf8編碼輸出中文就是亂碼
header("Content-Type: text/html; charset=utf-8");
可以省略,因為在meta已經定義了。
亂碼的原因是保存文件時,文件的編碼與顯示編碼不一致,只要另存為一次就好了
4. 在php裡面有沒有辦法把用戶輸入的漢字轉換為該漢字的utf-8的編碼
你網頁使用utf-8編碼,然後使用php的url編碼函數,將輸入的漢字進行url編碼即可啊
5. 求助關於PHP轉換漢字為UTF8字元的問題
這樣改試試.
注釋掉這段
/*
if($value < 223){
$str[$i] = rawurlencode(utf8_decode($str[$i]));
//先將utf8編碼轉換為ISO-8859-1編碼的單位元組字元,urlencode單位元組字元.
//utf8_decode()的作用相當於iconv("UTF-8","CP1252",$v)。
}else{
$str[$i] = "\u".strtoupper(bin2hex(iconv("UTF-8","UCS-2",$str[$i])));
}
*/
然後把這行$str[$i] = "\u".strtoupper(bin2hex(iconv("UTF-8","UCS-2",$str[$i])));
拿出到底下.
========================
改完如下:
<?php
function escape($str) {
preg_match_all("/[\xc2-\xdf][\x80-\xbf]+|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]
{3}|[\x01-\x7f]+/e",$str,$r);
//匹配utf-8字元,
$str = $r[0];
//var_mp( $str);
$l = count($str);
for($i=0; $i<$l; $i++){
$value = ord($str[$i][0]);
/*
if($value >= 192 && $value <= 223) $i++;//單位元組
elseif($value >= 224 && $value <= 239) $i = $i + 2;//雙位元組
elseif($value >= 240 && $value <= 247) $i = $i + 3;//三位元組
*/
/*
if($value < 223){
$str[$i] = rawurlencode(utf8_decode($str[$i]));
//先將utf8編碼轉換為ISO-8859-1編碼的單位元組字元,urlencode單位元組字元.
//utf8_decode()的作用相當於iconv("UTF-8","CP1252",$v)。
}else{
$str[$i] = "\u".strtoupper(bin2hex(iconv("UTF-8","UCS-2",$str[$i])));
}*/
$str[$i] = "\u".strtoupper(bin2hex(iconv("UTF-8","UCS-2",$str[$i])));
}
return join("",$str);
}
$title="天使寶貝'開心的笑";
$url= escape(iconv('gb2312','utf-8',$title));
echo $url;
?>
6. php裡面怎樣把utf-8編碼的字元串 (如 \u5e7f), 重新解碼成中文,多謝
這種字元串是unicode編碼的,而不是utf-8。json_decode()可以自動將json中的unicode字元串轉換為utf-8。你可以自己構造一個json來實現。
<?php
$str='u5e7fu4e1cu6df1u5733';
$json='{"foo":"'.$str.'"}';
$d=json_decode($json,true);
$str=$d['foo'];//這個就是你想要的
望採納!
7. php程序utf-8編碼如何轉換成gbk簡體中文編碼
給個轉碼的方法給你吧! 你可以自己修改$outEncoding的參數,下面的方法默認是轉換為gb2312的字元集了,你調用方法就可以將你的字元串轉換字元
//中文字元編碼轉換
public function safeEncoding($string,$outEncoding ='GB2312')
{
$encoding = "UTF-8";
for($i=0;$i<strlen($string);$i++)
{
if(ord($string{$i})<128)
continue;
if((ord($string{$i})&224)==224)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
//第二個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
$encoding = "UTF-8";
break;
}
}
}
if((ord($string{$i})&192)==192)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
// 第二個位元組判斷通過
$encoding = "GB2312";
break;
}
}
}
if(strtoupper($encoding) == strtoupper($outEncoding))
return $string;
else
return iconv($encoding,$outEncoding,$string);
}
8. 在PHP中,怎樣將編碼為UTF8的漢字轉換為gbk編碼的漢字
資料庫連接後
mysql_query("SET NAMES 'gb2312'");
直接自動轉換了
9. PHP怎麼把經過UTF-8編碼的中文字元轉換成正常的中文
首先,UTF-8編碼的中文字元也是正常的。
如果你認為 gb2312 才「正常」, 可以這樣:
$utf8_str = '中文'; // 注意這兒得是 UTF-8 編碼的字元串
$gb2312_str = mb_convert_encoding($str, 'GB2312', 'UTF-8');
%E5%90%89%E6%9E%97
有人已經回答了,
用 urldecode 就行了。
10. PHP中如何將UTF-8字元串轉成漢字
樓主說的這個不是utf-8,這是URL字元串
可以用urldecode()這個函數解碼已編碼的 URL 字元串
urldecode('%E5%BC%A0%E8%80%81%E5%B8%88');