php文件打开后出现中文乱码有哪些原因?

我用sublime,设置了UTF-8,前几天刚装好还没事,昨晚写了个文件打开后发现中文全乱码了,有没有可能是插件的问题?

哎呀,把问题给搞混了,这个问题主要的原因时windows的编码问题,用iconv函数解决

在编辑器里中文显示没有问题,但写的php文件打开后是中文的就乱码了,显示成四角星

  1. php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html;charset=gb2312"),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。 b.如果想使用utf-8编码, 那么php要输出头:header(“Content-Type:text/html; charset=utf-8"),html静态页面添加,所有文件的编码格式为utf-8。 完美解决方案:http://jingyan.baidu.com/article/6181c3e047313a152ef153cf.html

服了,只有改成UTF-8无BOM并把charset改成gb2312的时候才显示正常,其他不管怎么改都会显示乱码,但同一个编辑器编辑静态的HTML文件又没有问题

之前我也写过一样的遍历方法,但还没有出现过文件名会中文乱码的问题,有哪位大神告诉一下原因?因为我不管是有BOM还是无BOM的格式都试过了,最后要么改格式为UTF-8无BOM,要么用iconv函数把文件名都转换了才不会乱码,其他地方echo中文是没有问题的

页面编码和所有的编码都要一致,不要一个GBK一个UTF这样子,加一个header("content-type:text/html;charset=utf-8")

我在github上一个大神帮我解决了这个问题,大家有空也可以看一下编码方面的知识