【编码设置】GB2312与UTF-8及是否简写的区别

【编码设置】GB2312与UTF-8及是否简写的区别

在2-1的demo中,我试了几种情况:

  1. <meta http-equiv="content-type" content="text/html;chaset=GB2312"/>,中文正常显示

  2. <meta charset="GB2312"/>,中文显示为乱码

  3. <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>,中文正常显示

  4. <meta charset="UTF-8"/>,中文正常显示

请问GB2312与UTF-8及是否简写的区别,谢谢!

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

你好,1、html中的文字建议使用utf-8会正常显示中文。2、html本身的编码格式一般都是以utf-8为准,除非改变默认设置。3、浏览器的编码格式是默认设置好的,不建议更改,因为这个你只能更改自己的,当你的网站,在被人的浏览器打开是不会改变设置的。所以不建议更改。

  • EricTaku 提问者 #1
    谢谢你的回答!
    2017-07-12 03:01:28
好帮手慕糖 2017-07-10 14:27:25

你好,使用GB2312是否乱码,跟浏览器中设置的网页编码格式也有相关。以下是我的测试结果:

(1)在火狐浏览器中,GB2312无论是复杂写法,还是简写方法,都是乱码。

(2)在谷歌浏览器中,GB2312无论是复杂写法,还是简写方法,都是乱码。

(3)在360急速浏览器中,GB2312无论是复杂写法,还是简写方法,都可以正常显示。

另你的复杂写法中,charset的拼写错误,缺少了一个r,可能导致该编码没有生效。

建议:UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。建议使用utf-8的编码格式;

祝学习愉快!

  • 提问者 EricTaku #1
    谢谢你的回答!你的答案引入了一个新的影响因素:浏览器中设置的网页编码格式。现在我的理解是中文能否正确显示跟三方面有关: 1. HTML head中设置的charset 2. HTML文件本身的编码格式(encoding) 3. 浏览器中设置的网页编码格式 请问这三个设置具体怎么影响中文的正确显示? ----------------------------------------------------------------------------------------------------------------- 之前GB2312简写显示乱码的问题是由Notepad++造成的。我在记事本里新建一个HTML文件,使用GB2312简写,并将文件的编码设置为UTF-8,这样是可以正常显示中文的。但是在Notepad++里做同样的设置会显示乱码。非常感谢!
    2017-07-11 03:35:45
  • 卡布琦诺 回复 提问者 EricTaku #2
    UTF-8允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GB2312包含全部中文字符,是国家编码,通用性比UTF8差。为了避免所有乱码问题,应该采用UTF-8,将来要支持国际化也非常方便 UTF-8可以看作是大字符集,它包含了大部分文字的编码。使用UTF-8的一个好处是其他地区的用户(如香港台湾)无需安装简体中文支持就能正常观看你的文字而不会出现乱码。因此建议在涉及到编码的时候使用utf-8编码。祝学习愉快!
    2017-07-11 09:46:27
  • 提问者 EricTaku 回复 卡布琦诺 #3
    Hi Heino, 谢谢你的回答,不过我的问题是下面三个设置具体怎么影响中文的正确显示?<br/> 1. HTML head中设置的charset <br/> 2. HTML文件本身的编码格式(encoding) <br/> 3. 浏览器中设置的网页编码格式 <br/>
    2017-07-11 18:51:08
好帮手慕糖 2017-07-09 19:22:20

你好,简写模式都是可以的,建议:使用utf-8格式的编码。祝学习愉快!

  • 提问者 EricTaku #1
    谢谢你周末迅速的回复,但是很抱歉这个答案很难被采纳。 ----------------------------------------------------------------------------------------------------------------- 我发现这个网页的编码(encoding)是UTF-8,所以用GB2312简写的方式显示为乱码。将网页编码改为Unicode后,用GB2312简写的方式也可以正常显示简体中文。 请问为什么网页编码是UTF-8,charset设置为GB2312的情况下,用复杂写法可以正常显示中文,但是简体却不可以呢? 再次感谢!
    2017-07-09 19:41:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师