繁体   English   中英

UTF-8错误的字符编码

[英]UTF-8 wrong character encoding

在一个数组中有一个变量,其中有一个é 我尝试用普通的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数据库字段。

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

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

SET NAMES utf8;

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

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

&egrave;    &#232;  &#xE8;

格式比您必须用此代码替换。

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

只需添加$ html = iconv(“UTF-8”,“UTF-8 // IGNORE”,$ html); 并将此$ html传递给您的视图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM