$vlaue是需要用json_encode()转换,里面包含有中文。执行后全是null,
然后,在网上面找了一些资料,在前面加上下面一句:
$value = mb_check_encoding($value, 'UTF-8') ? $value : utf8_encode($value);
结果不报错了,但是网页打开的却是乱码。
应该如何处理这个情况?
6 个解决方案
#1
utf8_encode 是不行的
要用 mb_convert_encoding
要用 mb_convert_encoding
#2
用header指定下浏览器编码看看,页头加上:
header("content-type:text/html;charset=utf-8");
header("content-type:text/html;charset=utf-8");
#3
我在php里面加header("content-type:text/html;charset=utf-8");,或是在html里面加<meta charset="utf-8" />
效果都一样。。
#4
$value = mb_check_encoding($value, 'UTF-8') ? $value : mb_convert_encoding($value, 'UTF-8');
我换成这个还是和一样一样,
执行php xxx.php得到的结果是:
\u00c6\u00e4\u00cb\u00fb\u00d3\u00a6\u00d3\u00c3
#5
你真够可以的!
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
从 from_encoding 到 to_encoding
你没给 from_encoding 那不跟 utf8_encode 一样按字节转换吗?
对于中文,不是 utf-8 就是 gbk 了(*地区还有 big5)
怎么着也得 mb_convert_encoding($value, 'UTF-8', 'gbk') 吧
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
从 from_encoding 到 to_encoding
你没给 from_encoding 那不跟 utf8_encode 一样按字节转换吗?
对于中文,不是 utf-8 就是 gbk 了(*地区还有 big5)
怎么着也得 mb_convert_encoding($value, 'UTF-8', 'gbk') 吧
#6
谢谢了,确实应该加后面的那个参数。。 版主教训得是,主要是我学得太肤浅,没研究的太深。
#1
utf8_encode 是不行的
要用 mb_convert_encoding
要用 mb_convert_encoding
#2
用header指定下浏览器编码看看,页头加上:
header("content-type:text/html;charset=utf-8");
header("content-type:text/html;charset=utf-8");
#3
我在php里面加header("content-type:text/html;charset=utf-8");,或是在html里面加<meta charset="utf-8" />
效果都一样。。
#4
$value = mb_check_encoding($value, 'UTF-8') ? $value : mb_convert_encoding($value, 'UTF-8');
我换成这个还是和一样一样,
执行php xxx.php得到的结果是:
\u00c6\u00e4\u00cb\u00fb\u00d3\u00a6\u00d3\u00c3
#5
你真够可以的!
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
从 from_encoding 到 to_encoding
你没给 from_encoding 那不跟 utf8_encode 一样按字节转换吗?
对于中文,不是 utf-8 就是 gbk 了(*地区还有 big5)
怎么着也得 mb_convert_encoding($value, 'UTF-8', 'gbk') 吧
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
从 from_encoding 到 to_encoding
你没给 from_encoding 那不跟 utf8_encode 一样按字节转换吗?
对于中文,不是 utf-8 就是 gbk 了(*地区还有 big5)
怎么着也得 mb_convert_encoding($value, 'UTF-8', 'gbk') 吧
#6
谢谢了,确实应该加后面的那个参数。。 版主教训得是,主要是我学得太肤浅,没研究的太深。