gpt4 book ai didi

php - UTF-8 字符的间歇性问题

转载 作者:行者123 更新时间:2023-11-29 01:00:12 25 4
gpt4 key购买 nike

我正在运行一个相当标准的 LAMP 堆栈。

问题是间歇性地正确呈现 UTF-8 字符。大约 50% 的时间非 ASCII UTF-8 字符呈现正确(例如,带有适当的变音符号),但大约 50% 的时间我得到“?”演绎代替。如果我重新加载页面,有时它会纠正问题,有时却不会。所有平台上的所有浏览器都会发生这种情况,这表明存在 MYSQL 或 Apache 问题,但我无法弄清楚。

数据库本身是 UTF-8 格式的,我在 phpMyAdmin 中浏览数据库时从未见过这个问题。

我在打开数据库时发出了 SET NAMES utf-8 命令(并尝试将其更改为 SET CHARSET utf-8 命令)但没有成功。

令我困惑的是它是间歇性的,连续发生,例如它会连续发生在 30 页(即使它们只是重新加载),然后清除 10 页,然后再次发生几页,等等。

您可以点击此处的“列表”按钮来尝试查看问题:http://latin-words.com/list_vocab.php尽管可能需要多次重新加载才能使其发生或消失

服务器配置:Ubuntu:9.10MySQL:5.1.37PHP 5.2.10 Apache 2.2.12

如有任何提示,我们将不胜感激?

最佳答案

编辑:
为了搜索者的缘故,从评论来看,问题实际上是执行 SET NAMES utf-8;(不正确)而不是 SET NAMES utf8;(正确)并不意味着我在下面发布的更晦涩的原因也不能成为原因;)


听起来像是语言环境和 iconv 的问题,尝试确定是什么 locale在网络服务器进程中使用的那一刻一切都很好,那一刻它不再工作(尝试 $currentlocale = setlocale(LC_ALL,NULL);$currentlocale = setlocale(LC_CTYPE ,NULL); 以获取使用的语言环境)。

关于php - UTF-8 字符的间歇性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3833056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com