我在PHP脚本中读取文本文件(保存为Unicode UTF16-LE)时遇到了一些麻烦。如何在PHP中读取unicode文本文件?
我的PHP脚本以UTF-8格式保存(出于某些原因)。
这里是我的代码:
$lines = file("./somedir/$filename");
for ($i=0; $i < count($lines); $i++) {
$lines[$i] = iconv("Unicode", "UTF-8", $lines[$i]); // converting to UTF8
}
echo "[0]:".$lines[0]; // outputs CORRECT text (like "This is the first line")
echo "[1]:".$lines[1]; // outputs something like çæ¤ææ¬çææ¸ææ°ã
任何想法吗? 我检查了count($lines)
的值,它是完全正确的... 谢谢。
编辑:
行,所以我试图iconv("UTF-16", "UTF-8", $lines[$i]);
我也试过iconv("UTF-16LE", "UTF-8", $lines[$i]);
但仍然没有成功...
“的Unicode” 不是一个编码,可以不保存在文本 “的Unicode”,仅在特定的Unicode编码(包括UTF-8)。 – Quentin 2013-02-26 15:22:58
@Quentin啊OK!我用UTF16-LE保存了它。但是因为我没有在PHP手册(File()函数)中找到编码列表,所以我做了“Unicode”:)我应该在那里放置什么? – Enriqe 2013-02-26 15:24:59
“Thank you”赞成投票: - /我在2天内搜索了Stackoverflow,但因为我不知道UTF8是Unicode的子组,所以我无法搜索正确的关键字。对不起,问....:( – Enriqe 2013-02-26 15:31:36