MySQL 数据库返回utf8
编码文本。基本上,我使用了PDO
属性MYSQL_ATTR_INIT_COMMAND
并通过了:
SET CHARACTER SET utf8
它返回utf8
编码文本。但是数据库中的一些文本是普通的utf8
,类似的东西&alum;
是按原样返回的。
所以我需要utf8_encode
在 php 中再次调用以获取实际的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\"