PHP 字符编码 � 符号代替 à

标签 php utf-8 character-encoding joomla1.5

您好,我在这个 joomla 网站的某些页面上遇到了一个非常奇怪的错误:

http://www.pcsnet.it/news

如果您查看特定新闻的详细信息,à 字符会正确显示。

其他重音字符似乎不受影响。

我检查过 MySql 数据库中的默认 UTF-8 编码以及文本文件采用 UTF-8 编码。

其他想法?

最佳答案

在您的案例中非常有趣的是它只影响字母 à!所以这不可能是编码问题。

这是我对您的问题的看法。字母 à 在 utf8 中以两个字节编码。第一个字节是 xC3,即 latin-1 中的 Ã,第二个字节是...不间断空格! (其他重音字母,例如 èà 后跟 latin-1 中的其他重音字母编码,它们不受影响)。

因此,我的猜测是您在某处有一个脚本可以删除或替换 latin-1 中的不间断空格,即字符 xA0。生成的孤独字节xC3无法正常显示,所以显示一般占位符。 (只要用 latin-1 加载你的页面,你就会发现我是对的)。

找到那个删除不间断空格的脚本,你会没事的。

关于PHP 字符编码 � 符号代替 à,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7529996/

相关文章:

character-encoding - 一个字符有多少位或字节?

java - 从 linux 的服务器终端调用 Java 时的编码问题

php - 如何使用异常处理或错误处理停止页面以显示特定警告(请参阅详细信息)?

php - 是否可以设置 MySql 语句以 24 小时为周期查询数据库并每天返回数据库中的随机项目?

mysql - 如何在 jhipster session 级别将字符集设置为 utf8

java - 在 java 中使用 request.getParameter() 时字符损坏

PHP 自定义编码函数没有给出所需的结果

php - Ajax 页面获取设计需要物理地址

PHP 日期差异有差异

android - 在 Android HTTP 请求中发送 utf-8 编码的字符串