使用PHP从txt文件中读取捷克字符

时间:2016-11-09 20:18:40

标签: php file utf-8 character-encoding character

我在从txt文件中读取捷克语时遇到问题。

我想逐行阅读包含类别的.txt文件。使用一般语言我没有问题。我可以逐行读取txt文件,并在数组中复制我想要的类别。

但是一旦我想要读取包含捷克语类别的txt文件,我就会遇到处理代码输出的问题。即使文本文件正确显示字符,捷克特定字符也会出现垃圾。

举个例子: 根据我阅读文件的方式,字母ě,č,ů或ř都被视为正方形或st \ u001b或其他rubish。

我最初使用fgets函数从文本文件中读取一行。

但由于这没有返回正确的字符,我开始测试添加utf8_encode但是虽然这改变了一些字符,但它仍然没有恢复所有字符。

然后我开始尝试将mb_detect_encoding与mb_convert_encoding结合使用,然后在某处读取fgets有时会返回错误的字符,因此我开始使用file_get_contents进行测试。这也没有解决问题。

我认为主要问题在于我正在读取txt文件的方式,因为fgets和file_get_contents函数的输出从一开始就是乱码。

有谁能告诉我如何正确阅读捷克语文字文件?

提前致谢。

1 个答案:

答案 0 :(得分:0)

Oké我自己找到了解决方案。仅针对其他人遇到此问题的情况,txt文件编码错误。该文件位于“UCS-2 Little Endian”编码中。在Notepad ++中加载文件后,我可以将其编码为UTF-8格式并解决了问题。