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');