【发布时间】:2014-08-01 22:19:05
【问题描述】:
我需要使用 PHP 将 UTF-8 字符集转换为 Windows-1252,但到目前为止我运气不佳。我的目标是将文本传输到第 3 方系统并排除任何不在 Windows-1252 字符集中的字符。
我已经尝试过 iconv 和 mb_convert_encoding 但都给出了意想不到的结果。
$text = 'KØBENHAVN Ø ô& üü þþ';
echo iconv("UTF-8", "WINDOWS-1252", $text);
echo mb_convert_encoding($text, "WINDOWS-1252");
两者的输出都是 'K?BENHAVN ? ?&?? ??'
我没想到会有 ?,因为这些字符在 WINDOWS-1252 字符集中。
谁能帮我解释一下这个问题。
【问题讨论】:
-
您如何在网络浏览器中查看结果?如果是这样,页面的字符集是否设置为
windows-1252? -
cOle2 - 我只是在终端中运行它来测试它。 php -r 'echo iconv("UTF-8", "WINDOWS-1252", "KØBENHAVN Ø ô& üü þþ");'
标签: php utf-8 character-encoding