我正在编写一个函数来清除文本,该函数适用于或不带ut8字符的文本。
我不断收到这样的短信。
Coventry Salary - �25,000 - �35,000
但是使用此功能,它会删除但保留其他。
我想知道是否有人编写了一个清理文本的函数。
function convertHTMLSpecialChars ( $str='' )
{
$str = htmlspecialchars ( $str );
$str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));
$str = htmlspecialchars($str, ENT_NOQUOTES, 'UTF-8');
return $str;
}
这个函数:
$str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));
只需tries
从$str
中检测字符集;如果它发现$str包含UTF8 字符 它将返回"UTF8",因此 func 实际上是:
$str = mb_convert_encoding($str, 'UTF-8', 'UTF-8');
这没有多大帮助..在我看来,你应该手动给出字符串的字符集。例如,如果它的土耳其语:ISO-8859-5,如果它的希腊语:ISO-8859-7等等。
确保服务器以 UTF-8 格式输出页面。
您可以使用以下方法强制使用:
header ('Content-type: text/html; charset=utf-8');