Php应用程序编码从ISO-8859-1到UTF-8的问题

时间:2012-12-23 20:19:41

标签: php encoding utf-8 character-encoding iso-8859-1

我正在尝试将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

1 个答案:

答案 0 :(得分:1)

您的文件很好并且采用UTF-8,您只需在CP1252 / ISO-8859-1中进行解释即可。您需要向浏览器和文本编辑器声明编码。

header("Content-Type: text/html; charset=utf-8");

在文本编辑器中,指定文件为UTF-8,并且它将正确显示字符。不要进行任何转换。