我的实际字符串是
妈妈说,“我喜欢这个。” 杰克说,“我不明白。”
但相反它
在我的数据库的一列中,值保存就像我无法更改
妈妈说,“我喜欢这个。” 杰克说,“我不明白。”
我从查询中获取并执行json_encode然后在json字符串中显示这样的输出
妈妈说,\ u00e2 \ u20ac \ u0153我喜欢这个。\ u00e2 \ u20ac \ u009d \ n \ n杰克说,\ u00e \ u20ac \ u0153我不知道了。\ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u00e2 \ u20ac \ u009d \ n
所以请告诉我如何将这个unicode解码为双引号。
提前致谢
答案 0 :(得分:3)
您可能需要通过utf8_decode()
(而不是utf8_encode()
)传递您已有的数据。
为了确保将来顺利航行,您应该确保整个管道都是UTF-8。遗憾的是,这是非平凡的。在我的头顶,需要检查的地方:
AddDefaultCharset UTF-8
php_value default_charset "UTF-8"
header('Content-Type: text/html; charset=UTF-8');
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
mysql_set_charset('utf8');
utf8
和整理utf8_general_ci
utf8
和整理utf8_general_ci
如果您需要输出可能包含不需要的HTML或XML的值,请使用htmlentities($var, ENT_COMPAT, 'UTF-8');
而不是htmlentities($var);
另外,尽可能使用mb_*
函数,例如mb_strlen()
和mb_substr()
。
答案 1 :(得分:-1)
将表格整理更改为latin1_swedish_ci
使用特殊字符,你也可以做这样的事情
用于显示来自mysql的数据
$str=html_entity_decode(stripslashes($rows[4]));
用于将带有特殊字符的数据插入mysql
$var_name=htmlentities(mysql_real_escape_string($detail));