在描述中获取像"
要转换我用utf8_encode()尝试过的那些,它将此租赁者转换为另一种奇怪的模式。也尝试用regx和设置字符
有快速解决这个问题的方法吗?
谢谢。
很可能,您的字符串包含使用UTF-8编码的字符字符集。UTF-8有一些多字节字符。例如,欧元符号€
用UTF-8用三个字节E2,
82, AC
表示。
但是你的软件用一个字节来解释字符串编码,如ISO-8859-1。这导致每个字节的3字节要被解释为单独字符的字符。E2
,为例如,显示为â
,而实际上只有3字节字符的第一个字节
utf8_encode()不是这个问题的解决方案。它需要ISO-8859-1认证编码字符串并返回UTF-8字符串。您已经有了UTF-8字符串。
你有几个选择。
第一,修复任何使用字符串的东西,使它期望字符串包含utf - 8。这样可以很好地保存字符在字符串中。例如,如果您将字符串作为一个网页,确保网页的字符编码是UTF-8。
第二,将字符串转换为实际使用的编码。例如,可以将字符串从UTF-8转换为ISO-8859-1与utf_decode()。缺点是ISO-8859-1不能表示和UTF-8一样多的不同字符,所以有些字符会在解码中丢失
试试我在处理utf8
时写的这个函数function removeuni($content){
preg_match_all("/['x{80}-'x{3000}]/u", $content, $matches);
foreach($matches[0] as $match){
$content = str_replace($match, mb_convert_encoding($match, "HTML-ENTITIES","UTF-8"), $content);
}
return $content;
}