0

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

4

5 回答 5

1

在任何查询(选择/插入/更新)之前调用此语句:

SET NAMES utf8;

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

于 2012-09-17T06:44:33.050 回答
1

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

于 2012-09-17T06:34:56.083 回答
0

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

于 2012-09-17T06:42:05.463 回答
0

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

于 2014-09-09T15:14:18.947 回答
0

请检查数据库中存储的格式。如果它存储在这个

&egrave;    &#232;  &#xE8;

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

于 2012-09-17T06:36:02.920 回答