我正在尝试在PHP中创建一个脚本,用于将某些文件转换为UTF-8。我有一个希腊语文件,其中Notepad ++表示它是“ANSI”编码。当我将它上传到服务器时,它会检测到它的编码为UTF-8(我认为这是错误的)。然后,当我使用utf8_encode()将其内容转换为UTF-8并下载新文件时,字符会混乱。我试图用PHP删除BOM,结果是一样的。我试图用PHP删除BOM而不将文件转换为UTF-8,但文件仍然是ANSI编码,没有混乱的字符。我该如何解决这个问题?
答案 0 :(得分:4)
删除BOM,然后执行:
$file = file_get_contents('file.php');
$file = iconv('greek-charset','UTF-8', $file);
file_put_contents('file.php', $file);
//ta-da!
更改greek-charset
以更正charset的名称(可能为Windows-1253
)。