问题描述
我能够打印像™这样的特殊字符
但是当我必须打印 Φ 时,出现错误“iconv():在输入字符串中检测到非法字符”
这是我迄今为止尝试过的:
$line = iconv('UTF-8','CP1250//TRANSLIT',$line);
解决方法
这工作正常。这是一个通知,而不是一个错误。以下是来自 PHP documentation 的欧元示例。
<?php
$text = "This is the Euro symbol '€'.";
echo 'Original : ',$text,PHP_EOL;
echo 'TRANSLIT : ',iconv("UTF-8","ISO-8859-1//TRANSLIT",$text),PHP_EOL;
echo 'IGNORE : ',"ISO-8859-1//IGNORE",PHP_EOL;
echo 'Plain : ',"ISO-8859-1",PHP_EOL;
?>
将输出:
Original : This is the Euro symbol '€'.
TRANSLIT : This is the Euro symbol 'EUR'.
IGNORE : This is the Euro symbol ''.
Plain :
Notice: iconv(): Detected an illegal character in input string on line 7
在link的评论部分有更多关于如何处理不同场景的提示。