我正在尝试在PHP中创建一个脚本,用于将某些文件转换为UTF-8.我有一个希腊文件,其中记事本表明它是“ANSI”编码.当我将它上传到服务器时,它会检测到它的编码为UTF-8(我认为这是错误的).然后,当我使用utf8_encode()将其内容转换为UTF-8并下载新文件时,字符会混乱.我试图用PHP删除BOM,结果是一样的.我试图用PHP删除BOM而不将文件转换为UTF-8,但文件仍然是ANSI编码,没有混乱的字符.我该如何解决这个问题?
解决方法:
删除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).