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
4

1 回答 1

1

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

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

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

于 2012-12-24T06:50:30.000 回答