首頁  >  文章  >  後端開發  >  php mysql UTF-8编码问题

php mysql UTF-8编码问题

WBOY
WBOY原創
2016-06-23 13:58:35954瀏覽

有这样一段UTF-8编码 "\xe6\x93\x8d\xe4\xbd\x9c”
在页面里面直接赋值输出时正确的
$subject="\xe6\x93\x8d\xe4\xbd\x9c";
$subject=mb_convert_encoding($subject, "GB2312", "UTF-8");
echo $subject;
?>
但是把条记录放在数据库中,读出转换后 没有改变,输入还是“\xe6\x93\x8d\xe4\xbd\x9c”;
哪位大神遇到过类似问题,请指教,谢谢


回复讨论(解决方案)

看不懂想表达什么

你看下你数据库的编码是什么 估计不是GB2312的

程序中的 "\xe6\x93\x8d\xe4\xbd\x9c"
utf-8编码的 操作 的十六进制内码的一种表示形式(一定是要被双引号括起的)
否则只是 \xe6\x93\x8d\xe4\xbd\x9c 这样的串

只有在程序里书写的才会被转换,外来的都不会
对于字符串 \xe6\x93\x8d\xe4\xbd\x9c 可以这样转换

$s = '\xe6\x93\x8d\xe4\xbd\x9c';echo hex2bin(str_replace('\x', '', $s));echo urldecode(str_replace('\x', '%', $s));

程序中的 "\xe6\x93\x8d\xe4\xbd\x9c"
utf-8编码的 操作 的十六进制内码的一种表示形式(一定是要被双引号括起的)
否则只是 \xe6\x93\x8d\xe4\xbd\x9c 这样的串

只有在程序里书写的才会被转换,外来的都不会
对于字符串 \xe6\x93\x8d\xe4\xbd\x9c 可以这样转换

$s = '\xe6\x93\x8d\xe4\xbd\x9c';echo hex2bin(str_replace('\x', '', $s));echo urldecode(str_replace('\x', '%', $s));

 
正如版主所说,这样是对的,谢谢大家
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn