今天我们讨论html的meta元素中charset的含义。

在Eclipse的开发环境下,如果用户在编写html页面, 页面源码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="gbk">
<title>菜鸟教程</title>
</head>
<body><form action="index.jsp" method=GET>
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form></body>
</html>

然后用chrome浏览器(可以尝试用别的浏览器)打开,打开后如下所示出现乱码:

这里的原因是eclipse创建的html源文件,在保存字符时采用的是UTF-8编码方式(eclipse是可以配置默认采用什么编码方式的,这里假设默认是采用UTF-8的编码方式)。浏览器会在打开html时读取charset设置的参数,此时为GBK,就会采用GBK编码方式去呈现字符,GBK在英文的时候不出问题,遇到中文的时候就出问题了,这是因为它将UTF-8编码的汉字用GBK的方式去呈现,而两者的编码是完全不兼容的,因此出现了乱码。

有趣的地方是,如果你用eclipse和其他文本编辑器打开,比如用notepade++是可以正确显示中文,如下图:

并且还能识别出html源码是UTF-8编码方式,所以编辑器本身是能够正确显示中文,原因是大部分文本编辑器,包括微软自带的记事本,他们都会去扫描文本的二进制,用最可能最接近的编码方式去识别文本的字符(感觉就像是套用,所以有时候本文编辑器自己也会无法识别字符而出现乱码,有兴趣的可以去百度一下著名的"联通"案例),另外,因为文本编辑器就是个普通编辑器(文本编辑器根本不会去关心你编写的是个html,还是个java文件,还是个c文件),因此,文本编辑器当然就不会去识别charset的配置值的。我们可以用二进制方式去查看文本文件,如下图所示:

你可以看到红色圈中的地方,十六进制e7ab99,本文编辑器是会自动根据内部的识别机制(这个机制应该是采用最可能的方式)识别为该文本文件为UTF-8,因此可以正确识别汉字,对应的UTF-8编码汉字就是""。我们也看到如果用GBK方式编码,e7ab编码值与汉字“”所对应,这刚好与chrome浏览器打开是一致的,浏览器不是不够聪明,而是因为浏览器会先去查看charset的设置,然后按照设置去"理解"字符。因此,如果想要浏览器正确理解你的字符,就必须保证文本文件保存的编码格式和charset的配置值一致。

本例子,只要将charset设置值改为UTF-8就可以了。

参考网站:

GBK汉子编码查询网址

Eclipse编写html——讨论charset设置相关推荐

  1. Eclipse 编写代码自动提示设置

    很多人不知道Eclipse如何开启代码助手的自动提示功能,只是使用Eclipse默认的输入了"."之后才会出现提示.实际上可以输入任何字符的时候都可以给出提示. 设置如下: 打开 ...

  2. Eclipse编辑器字体大小的设置

    我们在第一次使用 Eclipse 编写程序时,由于 Eclipse 默认使用的是 Cosnolas 字体,字号为 10,所以编辑器中的字体非常小,不方便查看. 我们可以通过下面所示的方法来修改编辑器的 ...

  3. 配置eclipse编写html/js/css/jsp/java时自动提示

    配置eclipse编写html/js/css/jsp/java时自动提示步骤: 1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 修 ...

  4. 使用eclipse编写并运行你的第一个Android程序

    使用eclipse编写并运行你的第一个Android程序 关于配置android开发环境我再前一篇文章已经说过,这里便不再赘述 文章链接:使用eclipse搭建Android 开发环境 一.新建你的第 ...

  5. 【 源代码 】用Eclipse编写的Java小游戏——疯狂猜猜猜

    用Eclipse编写的小游戏--疯狂猜猜猜 郑重申明: 本人为Java初学者,该代码是本人在学习Java一周后做出来的,因此非常多的代码可能是有问题的,如有大神指教,本人必将认真听改. 代码简介: 这 ...

  6. eclipse编写java教程_【安装eclipse, 配置java环境教程】 编写第一个java程序

    写java通常用eclipse编写,还有一款编辑器比较流行叫IJ.这里我们只说下eclipse编写java的前期工作. 在安装eclipse之前要下载java的sdk文件,即Java SE Devel ...

  7. 使用eclipse编写JAVA程序

    使用eclipse编写JAVA程序 一.Eclipse(集成开发环境IDE) **1.创建java项目 ** 2.创建程序包 3.编写JAVA源程序 4.运行程序 注:IDE自动完成了将.java源文 ...

  8. eclipse下的tomcat内存设置大小

    eclipse下的tomcat内存设置大小 在eclipse中设置,居然可以了, 设置步骤如下: 1.点击eclipse上的debug图标旁边的下拉箭头 2.然后选择Run Configuration ...

  9. eclipse开发jsp默认编码设置

    转载自   eclipse开发jsp默认编码设置 在eclipse中新建一个jsp页面时,一般默认的编码不是utf-8,而我们一般项目都是统一采用utf-8编码,如果要一个个改很麻烦,大家一般都会想到 ...

最新文章

  1. LinuxIP设置,网络负载
  2. 深度学习鼻祖杰夫·辛顿及巨头们的人才抢夺战
  3. 十大有用但又偏执的Java编程技术
  4. Pytorch cifar10离线加载二进制文件
  5. es6 Proxy.revocable()方法
  6. APP违法使用个人信息?不用怕,华为云VSS为你保驾护航
  7. 会话(状态)管理Cookie与Session(一)
  8. adb for linux 工具包,Linux(Ubuntu)下配置安装adb工具
  9. ibm服务器安装aix系统,IBM AIX 系统安装详细过程及注意事项
  10. android 定时重启手机,有必要定时重启手机吗? 重启后手机会更流畅吗?
  11. 未在此计算机上注册ActiveX控件!!!
  12. 从单体式架构迁移到微服务架构
  13. 37页pdf,埃默里大学最新「大数据时代事件预测」综述,ACM顶级期刊上发表
  14. device mapper机制详解
  15. 你一定要看的安装及卸载测试用例的步骤及方法总结
  16. Linux常用指令(幻影快递Linux小组)
  17. NTP 网络时间协议
  18. matlab画图nan,在Matlab中过滤包含NaN的图像?
  19. 外媒:欧盟推出超级计算机 计划追赶中国
  20. 兰大本科生发31篇论文引质疑,研究范围从改革开放到呼吸道感染,本人:我努力有错吗?...

热门文章

  1. 程序员应该知道的100网站,你知道几个
  2. 李冰冰:英文是这样炼成的
  3. 计算机专业博士未来的方向,清华学霸、UCLA计算机博士专业导师手把手教你申请...
  4. 设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start0方法、表示加速的speedUp()方法以及表示停止的stop()方法。
  5. 酷点桌面软件v1.2 和windows vista
  6. HDU 3729 I'm Telling the Truth(二分图最大匹配)
  7. 计算机相关英文文档重点单词(一)
  8. ios如何看idfv_iOS-理解 : UDID、UUID、IDFA、IDFV
  9. ffmpeg分割视频
  10. 使用Python Matplotlib绘图并输出图像到文件中的实践