UTF-8错误的字符编码

时间:2012-09-17 06:31:46

标签: php encoding utf-8

在一个数组中,有一个变量,其中包含é。我尝试用普通的e替换它 使用

echo strtr($var, "é", "e");

但即使这样也行不通。有点奇怪。在我的页面顶部有

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

然后当我加载页面时,é字符转换为[[#233]],并且将事物转换为pdf的插件告诉我该文档包含invalid UTF-8 character(s)。 有人知道吗?之间的变量来自latin1_swedish_ci数据库字段。

6 个答案:

答案 0 :(得分:1)

即00E9听起来像Windows-1252(CP1252)。不在控制范围内,但我遇到了类似的问题。可以使用iconv转换它并确保有效的UTF-8。

答案 1 :(得分:1)

在任何查询(select / insert / update)之前调用此语句:

SET NAMES utf8;

也许您需要在数据库中重新创建数据。 尝试插入一些新记录并选择它们。

答案 2 :(得分:0)

请检入数据库,以哪种格式é存储。如果它存储在此

&egrave;    &#232;  &#xE8;

格式,而不是必须用此代码替换。

答案 3 :(得分:0)

看一下这个链接,我希望它能解决你的问题。

hHandling character for those browsers can’t identify their encoding

答案 4 :(得分:0)

可能是您的数组是在未使用UTF-8编码的文件中编写的。 页面编码与使用元标记声明的编码之间的差异会导致问题。 确保在文本编辑器或IDE中配置了正确的编码。

答案 5 :(得分:0)

添加 $ html = iconv(&#34; UTF-8&#34;,&#34; UTF-8 // IGNORE&#34;,$ html); 并将此$ html传递给您的视图