【问题标题】:PHP Ansi to UTF-8PHP Ansi 转 UTF-8
【发布时间】:2011-09-22 18:59:37
【问题描述】:

我正在尝试在 PHP 中创建一个脚本,用于将一些文件转换为 UTF-8。我有一个希腊语文件,其中 Notepad++ 表示它是“ANSI”编码。当我将它上传到服务器时,它检测到它的编码为 UTF-8(我认为是 wrinf)。然后,当我使用 utf8_encode () 将其内容转换为 UTF-8 并下载新文件时,字符就乱了。我试图用 PHP 删除 BOM,结果是一样的。我尝试使用 PHP 删除 BOM,而不将文件转换为 UTF-8,但文件仍采用 ANSI 编码,没有乱码。我该如何解决?

【问题讨论】:

    标签: php encoding utf-8 ansi mojibake


    【解决方案1】:

    删除 BOM,然后执行:

    $file = file_get_contents('file.php');
    $file = iconv('greek-charset','UTF-8', $file);
    file_put_contents('file.php', $file);
    //ta-da!
    

    greek-charset 更改为正确的字符集名称(可能是Windows-1253)。

    【讨论】:

    • 在哪里可以找到字符集?
    • @Paris:您可以在此处找到可用字符集的扩展列表:gnu.org/software/libiconv - 具体安装可能不同,但该列表是一个很好的方向。
    • 使用 'greek-charset' 中的 CP1251
    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2015-10-06
    相关资源
    最近更新 更多