使用标签设置页面编码

这个标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,xxx 可以为 GB2312、GBK、UTF-8(和 MySQL 不同,MySQL 是 UTF8)等等。因此,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码。但是有的时候我们会 发现有了这句还是不行,不管 xxx 是哪一种,浏览器采用的始终都是一种编码,这个情况我后面会谈到。

请注意, 是属于 HTML 信息的,仅仅是一个声明,仅表明服务器已经把 HTML 信息传到了浏览器。

header(content-type:text/html; charset=xxx);

这个函数 header() 的作用是把括号里面的信息发到 http 标头。如果括号里面的内容为文中所说那样,那作用和 标签基本相同,大家对照第一个看发现字符都差不多的。但是不同的是如果有这段函数,浏览器就会永远采用你所要求的 xxx 编码,绝对不会不听话,因此这个函数是很有用的。为什么会这样呢?那就得说说 http 标头和 HTML信息的差别了:

http 标头是服务器以 http 协议传送 HTML 信息到浏览器前所送出的字串。而 标签是属于 HTML 信息的,所以 header() 发送的内容先到达浏览器,通俗点就是 header() 的优先级高于 (不知道可不可以这样讲)。假如一个 php 页面既有header(content-type:text/html;charset=xxx),又有,浏览器就只认前者 http 标头而不认 meta 了。当然这个函数只能在 php 页面内使用。

同样也留有一个问题,为什么前者就绝对起作用,而后者有时候就不行呢?这就是接下来要谈的Apache 的原因了。

AddDefaultCharset

Apache 根目录的 conf 文件夹里,有整个 Apache 的配置文档 httpd.conf。

用文本编辑器打开 httpd.conf,第 708 行(不同版本可能不同)有 AddDefaultCharset xxx,xxx为编码名称。这行代码的意思:设置整个服务器内的网页文件 http 标头里的字符集为你默认的 xxx字符集。有这行,就相当于给每个文件都加了一行 header(content-type:text/html; charset=xxx)。这下就明白为什么明明 设置了是 utf-8,可浏览器始终采用 gb2312 的原因。

如果网页里有 header(content-type:text/html; charset=xxx),就把默认的字符集改为你设置的字符集,所以这个函数永远有用。如果把 AddDefaultCharset xxx 前面加个#,注释掉这句,而且页面里不含 header(content-type…),那这个时候就轮到 meta 标签起作用了。

下面列出以上的优先顺序:

.. header(content-type:text/html; charset=xxx)

.. AddDefaultCharset xxx

..

如果你是 web 程序员,建议给你的每个页面都加个header(content-type:text/html;charset=xxx),这样就可以保证它在任何服务器都能正确显示,可移植性也比较强。

php.ini 中的 default_charset 配置

php.ini 中的 default_charset = gb2312 定义了 php 的默认语言字符集。一般推荐注释掉此行,让浏览器根据网页头中的 charset 来自动选择语言而非做一个强制性的规定,这样就可以在同台服务器上提供多种语言的网页服务。

其实 php 开发中的中文编码并没有想像的那么复杂,虽然定位和解决问题没有定规,各种运行环境也各不尽然,但后面的原理是一样的。了解字符集的知识是解决字符问题的 基础。不过,随着中文字符集的变化,不仅仅是 php 编程,中文信息处理中的问题还是会存在一段时间的。

取消

评论

html表格导入excel乱码,如何解决从DREAMWEAVER中导出的表格出现乱码的問題相关推荐

  1. C# 导入excel数据,解决关闭excel后不能释放资源的问题

    C# 导入excel数据,解决关闭excel后不能释放资源的问题 参考文章: (1)C# 导入excel数据,解决关闭excel后不能释放资源的问题 (2)https://www.cnblogs.co ...

  2. 如何解决Bat脚本中包含中文,运行乱码

    如何解决Bat脚本中包含中文,运行乱码 转载于:https://jingyan.baidu.com/article/a3f121e4d84a5dfc9152bb55.html bat脚本在批处理的时候 ...

  3. java中html中文乱码怎么解决_Java读取网页HTML 汉字乱码 (已解决,bufferedReader中编码改成...

    Java读取网页HTML 汉字乱码 (已解决,bufferedReader中编码改成 Java读取网页HTML 汉字乱码 (已解决,bufferedReader中编码改成跟网页的一致即可) #网页HT ...

  4. 表格在整个html居中显示,html 表格字符居中显示_如何在HTML中居中显示表格?

    html 表格字符居中显示_如何在HTML中居中显示表格? html 表格字符居中显示_如何在HTML中居中显示表格? html 表格字符居中显示 HTML table provides the ab ...

  5. Mysql导入excel数据,解决某些特殊字符乱码问题

    问题 做项目需要从excel表格导入到mysql的数据库表中,excel表格中的"规格"字段的"×"符号导入数据库表中,会出现部分数据的"×" ...

  6. layui数据表格导入Excel,后端打印乱码

    在做这个功能的时候,我在后端打印的数据是没有经过解码的数据,像这样的:%5B%7B%22cId%22%3A%221%22%2C%22tId%22%3A1%2C%22inport%22%3A2%2C%2 ...

  7. php 表格导入excel插件,BootStrap Fileinput插件和表格插件相结合实现导入Excel数据的文件上传、预览、提交的步骤...

    这篇文章主要介绍了BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传.预览.提交的导入Excel数据操作步骤,需要的朋友可以参考下 bootstrap ...

  8. java csv导出用excel打开乱码_解决Java以UTF-8导出的CSV文件用Excel打开乱码

    项目中导出或下载的CSV文件,默认打开方式一般都是Excel.若文件中有中文或者日文时,显示内容就会乱码,但是如果用文件编辑器记事本之类的打开显示内容是正常的.首先解释一下为什么会有这种现象,之后给出 ...

  9. 避免word中表格导入excel表格中变形的问题

    1.word中序号自动递增 选中你要添加"单元格",选择"开始"-"编号",定制自己的格式,选中后,自动添加序号 2.把word中表格数据存 ...

最新文章

  1. 组合计数 ---- 732 Div2 D. AquaMoon and Chess
  2. discuz 删除系统自带的附件上传
  3. 你知道Java 8 的方法引用吗
  4. leetcode算法题--煎饼排序
  5. bert中文预训练模型_[中文医疗预训练模型] MC-BERT
  6. 寻路机器人单片机程序示例_单片机精华程序代码示例:DS1302时钟程序
  7. git拉取代码如何解决冲突_开源项目 git pull 代码冲突的解决方式?
  8. python对象序列化或持久化的方法
  9. Web完整渗透测试实例(windows)
  10. 联想拯救者Y90电竞旗舰正式入网:搭载三星E4 OLED屏 支持144Hz刷新率
  11. python制作词作云动画_3分钟教你用python制作一个简单词云
  12. Google发布超难问答数据集「自然问题」:30万对问答,BERT都达不到70分
  13. web表格在css中属性,CSS属性之表格(Table)_html/css_WEB-ITnose
  14. android 串流 ps4,就想要玩游戏!PS4有线串流到笔记本电脑实战
  15. Vue中图片裁剪的实现
  16. 简单使用Easy Touch5摇杆控制物体移动
  17. 码出高效:Java开发手册PDF
  18. 五种方法教你预防ddos攻击
  19. 数据挖掘技术及其应用现状
  20. 图像和图形(位图与矢量图)

热门文章

  1. Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)
  2. 光伏用塑壳断路器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  3. 宠物商城系统的设计与开发(毕业论文第一、二章)
  4. 深度学习--自编码器(AutoEncoder)
  5. 中信银行“整合”从核心开始
  6. 想做好用户画像?先学会这个基础操作
  7. SMALI语法入门教程
  8. hue解决下载10万行的限制
  9. hp工作站z8装Linux,惠普Z8G4双路最小工作站
  10. 基于微服务spring cloud+vue+spring boot在线聊天交友软件的设计与实现