在一个数组中,有一个变量,其中包含é
。我尝试用普通的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数据库字段。
答案 0 :(得分:1)
即00E9听起来像Windows-1252(CP1252)。不在控制范围内,但我遇到了类似的问题。可以使用iconv
转换它并确保有效的UTF-8。
答案 1 :(得分:1)
在任何查询(select / insert / update)之前调用此语句:
SET NAMES utf8;
也许您需要在数据库中重新创建数据。 尝试插入一些新记录并选择它们。
答案 2 :(得分:0)
请检入数据库,以哪种格式é存储。如果它存储在此
è è è
格式,而不是必须用此代码替换。
答案 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传递给您的视图