【发布时间】:2016-06-22 10:50:39
【问题描述】:
看了很多文章还是没看懂
我正在使用从文件中导入文本
$fp = fopen($storagename, 'r');
while ( !feof($fp) ){
$line = fgets($fp, 2048);
$delimiter = "\t";
$data = str_getcsv($line, $delimiter);
print_r($data);
}
为了正确显示数字和英文字符,我必须使用
str_replace("\x00", '', $data[7])
但现在尝试显示希伯来字符最终看起来像 �
我尝试使用 iconv/mb_convert_encoding/utf8_decode/encode 进行转换 没有任何帮助..
任何帮助都会很棒
【问题讨论】:
-
您不能只是从文本文件中删除随机字节来显示它,这不是文本编码应该如何工作的。你绝对需要确定文本文件的编码(我猜它可能是 UTF-16 的一些变体),知道你的应用程序的编码并使用适当的转换函数,如 mb_convert_encoding() 或 iconv()。
-
我没有这个数据,我怎么知道txt文件的编码?
-
你必须猜。在一个好的编辑器或浏览器中加载它并更改编码,直到它看起来不错。
-
我打开它看起来不错这不是我的问题...
-
当我在记事本++中打开文件时,看起来编码是:UCS-2 little Endian
标签: php utf-8 character-encoding