起初我认为问题在于当我从 ajax 调用返回 echo json_encode($row) 时,ñ 的结果更改为 NULL。但是经过测试,我发现问题在此之前就存在。
在一个示例 php 文件中:
$test = "Nuñez"
echo $test
结果只是 Nu�ez
我四处搜索,但建议的解决方案都不起作用。像:
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_language('uni');
mb_regex_encoding('UTF-8');
ob_start('mb_output_handler');
或<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
, 或header('content-type: text/html; charset: utf-8');
. 还有一些我已经忘记的解决方案,相信我我尝试了很多。
这只是开始,我希望 mysql 不会有问题,因为我的数据库是 utf-8 格式,我的 $mysqli 字符集也是如此。但我想我不能对 ajax json_encode 说同样的话。但没关系,一次一个问题。任何人都可以帮助我。非常感谢!
问题解决了我只需要在 Notepad++ 中设置“UTF-8 编码”,就像之前在“ANSI 编码”中一样。