php开发时遇到的中文编码问题 - 常见问题 - 大聪IT培训--广西专业的IT培训机构,专注PHP培训、web前端培训、Java培训、PHP开发、Web前端开发 - 钱柜娱乐777|钱柜777娱乐手机官网【唯一】
  • 全国统一热线
  • 联系电话400-800-6499
  • 推荐课程
  • PHP开发
  • PHP开发4394

    主讲老师:何文、谭龙涛

  • UI设计
  • UI设计6219

    主讲老师:陈秋婷、钟柳婷

    php开发时遇到的中文编码问题

  • 作者:管理员发布时间:2018-07-20点击数:45
  •         大家进行php开发的时候,很多人在敲完程序之后,打开网页检查会发现页面文字乱码,这个乱码问题困扰着许多人。现在,我把出现乱码的原因, 在这里写出来和大家分享。

            导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码, 中国的 utf-8-80,日本的 JIS 等。作为该国家/区域内信息处理的基础,字符编码集起着统一编码的重要作用。字符编码集按长度分为 SBCS(单字节字符集),DBCS(双字节字符集)两大类。现在大部分具有国际化特征的软件核心字符处理都是以 Unicode 为基础的,在软件运行时根据当时的ocale/Lang/Codepage 设置确定相应的本地字符编码设置,并依此处理本地字符。在处理过程中需要实现 Unicode 和本地字符集的相互转换,甚或以 Unicode 为中间的两个不同本地字符集的相互转换。这种方式在网络环境下被进一步延伸,任何网络两端的字符信息也需要根据字符集的设置转换成可接受的内容。


            解决这些乱码其实很简单, 常用的有两种方法:

            1、使用<meta http-equiv="content-type" content="text/html;charset=xxx">标签设置页面编码,这个标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码。但是有的时候我们会发现有了这句还是不行,不管 xxx 是哪一种,浏览器采用的始终都是一种编码。

            2、代码头部加入一句:header("content-type:text/html; charset=xxx");这个函数 header() 的作用是把括号里面的信息发到 http 标头。如果括号里面的内容为文中所说那样,那作用和 标签基本相同,大家对照第一个看发现字符都差不多的。但是不同的是如果有这段函数,浏览器就会永远采用你所要求的 xxx 编码,绝对不会不听话,因此这个函数是很有用的。为什么会这样呢?那就得说说 http 标头和 HTML信息的差别了:http 标头是服务器以 http 协议传送 HTML 信息到浏览器前所送出的字串。而 标签是属于 HTML 信息的,所以 header() 发送的内容先到达浏览器,通俗点就是 header() 的优先级高于<meta> (不知道可不可以这样讲)。假如一个 php 页面既有header("content-type:textml;charset=xxx"),又有,浏览器就只认前者 http 标头而不认 meta 了。当然这个函数只能在 php 页面内使用。


            如果能理解透彻这两种方法并熟练应用,那么php开发中的编码问题也不是想象中那么复杂了,了解字符集的知识是解决字符问题的基础。不过,随着中文字符集的变化,不仅仅是 php 编程,中文信息处理中的问题还是会存在一段时间的。





  • 上一篇:桂林php开发--开发环境搭建
  • 下一篇:学习php开发的理由

  • 联系方式
  • 0773-5863218(周一至周五:8:00-20:00)

    手机号码:18177335633

    qq:526398449 QQ交谈

    地址:桂林市七星区信息产业园创新大厦B401

  • 公司二维码
  • 扫一扫,更精彩!

Copyright © 2016 大聪网络钱柜777娱乐手机官网科技 版权所有

桂ICP备12003741号-11