在学习php文件操作时,遍历一目录并输出目录下的文件名时,出现了乱码问题。 前提是我已经使用header("Content-Type: text/html; charset=utf-8");语句设置了文件的编码方式。但是在php代码前我写的html标签内容输出后正常显示。
经查询后得知,windows下文件名的字符编码是gbk,因此在输出文件名处使用了iconv()函数。iconv()函数能够转换字符串的编码。官方对该函数的说明如下:
在使用iconv()函数转换文件名的编码方式后,乱码问题解决。
如果不使用这个函数的话,可以在编辑器上把文件的编码设定成gbk,不过这样之前在utf8下写的中文会乱码,因此需要重新写之前在utf8下的中文。
注:在php.ini配置文件中的default_charset 处设置页面默认编码,在eclipse等编译器上设置的编码应该与php设置的编码字符集一致