<分区>
MySQL 数据库返回 utf8
编码的文本。基本上,我使用了 PDO
属性 MYSQL_ATTR_INIT_COMMAND
并通过了:
SET CHARACTER SET utf8
它返回 utf8
编码的文本。但是数据库中的一些文本是纯 utf8
,像 &alum;
这样的文本会按原样返回。
所以我需要在 php 中再次调用 utf8_encode
来获取实际的 utf8
字符。它工作正常。
我想知道,它是否会对文本编码两次产生任何负面影响,或者除了像上面那样对非编码文本进行编码之外,它不会影响任何其他内容?
谢谢!
编辑:
我正在使用以下代码来获取正确的字符:
$val = utf8_encode(addslashes(html_entity_decode(strip_tags($val))));
所以它所做的是将以下文本从:
<font color=\"#222222\" face=\"arial, sans-serif\" size=\"2\"> Test Event </font><span style=\"color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;\">Persönlichkeit Universität"</span>
(此文本来自数据库,调用SET CHARACTER SET utf8
后)
到:
Test Event Persönlichkeit Universität\"