我觉得我的胡须在增长,同时试图在这里找出问题。
基本问题是,变音符号/特殊符号äöß ...不起作用。我想每个人都厌倦了这些问题,但在网上找到的所有解决方案似乎都不起作用。
我在 utf-8 Mysql 数据库中有 utf-8 内容。我觉得问题出在数据库连接的某个地方,但我就是想不通。
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem 二进制
character_set_results utf8
character_set_server latin1
character_set_system utf8
我不确定问题是否出在 character_set_server 的 latin1 上,因为我不喜欢 mysql 的东西。我也不知道如何更改,因为我无法访问 mysql 服务器的配置文件。
无论让我感到困惑的是,如果我从数据库中获取结果并回显它,print_r 会给出正确的结果。
ini_set('default_charset','utf-8');
header('Content-Type: text/plain; > charset=utf-8');
Firefox 说 char 编码是 utf-8 但如果我输出时:
print_r($listnew);
echo json_encode($listnew[5]);
print_r 结果一切正常,但 json_encode 做错了。
打印_r:
[5] => Array (
[id] => 5
[data] => U-Bahnhof Theresienstraße
[size] => 17
)
json_encode:
{"id":5,"data":"U-Bahnhof Theresienstra\u00dfe","size":17}
我知道 json_encode 需要一个 utf-8 字符串才能在那里正常工作,我觉得我在这里遇到了编码问题,但我无法确定它在哪里。
任何帮助,将不胜感激,
提前致谢。
i3