我正在尝试将PHP应用程序从ISO-8859-1编码为UTF-8。制作了应用程序的测试副本,运行以下iconv以递归方式修改所有文件。
find . -type f -print -exec iconv -f iso8859-1 -t utf-8 -o {}.converted {} \; -exec mv {}.converted {} \;
以上并没有真正开展工作。代码仍然有如下文字:
não exibe nenhuma info durante a configuração. será setado adequadadmente
使用测试php脚本
<?php
$text = "não exibe nenhuma info durante a configuração. será setado adequadadmente";
echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("ISO-8859-1", "UTF-8//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE : ', iconv("ISO-8859-1", "UTF-8//IGNORE", $text), PHP_EOL;
echo 'Plain : ', iconv("ISO-8859-1", "UTF-8", $text), PHP_EOL;
?>
输出是:
Original : não exibe nenhuma info durante a configuração. será setado adequadadmente
TRANSLIT : não exibe nenhuma info durante a configuração. será setado adequadadmente
IGNORE : não exibe nenhuma info durante a configuração. será setado adequadadmente
Plain : não exibe nenhuma info durante a configuração. será setado adequadadmente
答案 0 :(得分:1)
您的文件很好并且采用UTF-8,您只需在CP1252 / ISO-8859-1中进行解释即可。您需要向浏览器和文本编辑器声明编码。
header("Content-Type: text/html; charset=utf-8");
在文本编辑器中,指定文件为UTF-8,并且它将正确显示字符。不要进行任何转换。