str_replace编码问题

时间:2015-11-25 10:00:05

标签: php html mysql sql utf-8

我正在编写一个str_replace函数,用span和color-style标签替换特殊字符和数字的特定组合。例如,`5被替换为<span style='color=0000FF'>。必须替换的值和替换器是从以UTF-8-ci编码的SQL(MySQL)表中选择的,以支持特殊的字符和变音符号。

$output=str_replace("{$farben['anzeigecode']}","<span style='color: {$farben['htmlfarbe']}'>",$output);

该功能正好处理`z+1等内容,将其替换为<span color=x>标记。正如预期的那样,如果变音符和特殊字符在字母前面没有`+,它也会保持不变。

如果它混乱并返回html表达式(例如&uml;)是组合,例如: 等。它也会忽略(但是不会返回由+#和变音符号组成的html表达式组合,例如 - 即使这些函数正在使用的SQL表中。

函数所在的文件及其使用的文件保存为UTF-8,不含BOM。

Tl; dr:这对我来说真是令人费解 - 最后,函数未触及的Ü的输出工作正常,但函数应该替换某些东西的返回{{ 1}}和&Uuml;以及只会被忽略。

导致这种情况的原因是什么?

0 个答案:

没有答案