yezheyan
yezheyan
2015-07-21 01:01
采纳率: 28.6%
浏览 3.4k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • yezheyan
    yezheyan 2015-08-28 01:47
    已采纳

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

    点赞 评论
  • yezheyan
    yezheyan 2015-07-21 01:18

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

    点赞 评论
  • keryang
    KyneChen 2015-07-21 01:22
    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
    点赞 评论
  • yezheyan
    yezheyan 2015-07-21 07:34

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

    点赞 评论
  • yezheyan
    yezheyan 2015-07-21 07:48

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

    点赞 评论
  • baidu_29834953
    baidu_29834953 2015-07-22 01:14

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

    点赞 评论
  • yezheyan
    yezheyan 2015-08-28 01:46

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

    点赞 评论