【发布时间】:2014-12-20 07:44:28
【问题描述】:
我写了这个方法来替换特殊字符:
function replace_sonder($string)
{
$string2 = str_replace("ä", "ä", $string);
$string2 = str_replace("%E4", "ä", $string2);
$string2 = str_replace("ö", "ö", $string2);
$string2 = str_replace("%F6", "ö", $string2);
$string2 = str_replace("ü", "ü", $string2);
$string2 = str_replace("%FC", "ü", $string2);
$string2 = str_replace("Ä", "Ä", $string2);
$string2 = str_replace("%C4", "Ä", $string2);
$string2 = str_replace("Ö", "Ö", $string2);
$string2 = str_replace("%D6", "Ö", $string2);
$string2 = str_replace("Ü", "Ü", $string2);
$string2 = str_replace("%DC", "Ü", $string2);
$string2 = str_replace("ß", "ß", $string2);
$string2 = str_replace("%DF", "ß", $string2);
return $string2;
}
它总是返回与我传入的字符串相同的字符串。我在哪里遗漏了什么或者有其他方法可以做到这一点?
【问题讨论】:
-
您是否设置了文件编码类型 UTF-8 或 UTF-16?
-
你输入的字符串是什么?
-
你的函数简写:
function replace_sonder($string) { return $string = htmlentities(rawurldecode($string)); }
标签: php special-characters str-replace