sql server - PHP编码问题读取文件- ISO-8859-1 &utf - 8的冲突


sql server - PHP encoding issue reading files - ISO-8859-1 & UTF-8 Conflict

我有一个php文件,读取一个CSV文件,我假设是在UTF-8 -通过API发送。我使用fopen()来读取它

问题是我的输出返回为:

IU ?问杰? ?/Q R ? ?/) ? J - ?)) VH ?/OM ? K-NI ? T0 ? p ? *ͩT0204jzԴ? H ? ? X ? ?@ D ? ?K

我检查了php5的配置设置:

默认为UTF-8:/;php.net/default-charset;default_charset = "UTF-8"

我把ISO-8859-1改成了UTF-8

[iconv]; iconv。iconv.internal_encoding = UTF-8;output_encoding = UTF-8;charset = "UTF-8"

输出仍然相同。我可以采取什么建议或步骤来解决这个问题?

我从来没有用php打开过文件,但是,

你用过

吗?
$data = fopen($file);
fgets($data);

吗?

如果您只是从源代码中读取,没有问题,因为php不会对字符串进行任何编码假设。所以,如果你的源发送你的数据作为UTF8,它是UTF8, default_charset在php只是一个头发送之前,你的页面可以覆盖在许多方式。检查你的浏览器是否以正确的编码显示页面…在Chrome中,转到菜单更多工具/编码,在那里你会看到正在使用的编码

我必须使用压缩。Zlib来解决问题$ f_pointer = fopen("compress.zlib: URL ","r");