atom和sublime中文乱码问题

一开始因为atom的炫酷插件active power mode 而选择atom编辑器,作为一个小白上来就用插件真是自找苦吃,各种百度各种查,终于发现不用手动下载插件文件放到atom文件目录下,而是直接在自带的插件平台就可以找到。下载安装一气呵成。然而一个很大的问题出现了——中文显示乱码。

在编辑器中可以打中文,但是在预览界面和用浏览器直接打开.html文件时,中文全部变成乱码。一开始以为是插件问题,也有说要改atom的样式文件中的字体,都试过,还是不好用。而且还出现一个奇怪的现象——有的文件能够显示中文,有的不能,就算是同一段代码。

心灰意冷之下选择朋友推荐的sublime编辑器。也按照需要安装了几个插件(发现这俩编辑器很多快捷键是一样的,比如插件在线搜索都是shift+ctrl+p),一开始很顺利,除了没有炫酷的打字效果。以为就sublime了。然而在第二天——同样的问题又出现了。尤其在同一段代码而显示不同的问题上,我觉得不是插件的问题了。

空闲时跟朋友吐槽,他说了一些自己的意见,作为小白我只记得了“编码”这个词。在网上查了一些这方面,一开始怀疑的也是编辑器本身的编码,然而同一段代码应该不存在这个问题,况且我试过,编辑器一直默认utf8编码,那么就不是编辑器本身的问题。然后,我想到何不从现象入手,直接在百度查询“.html文件乱码”,然后真相大白——我少了一行代码!折腾了3天的问题终于得到解决。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

对于http-equive和content就算是查了参考手册也还是不明白,先记在这里以后再查。

http-equiv 属性

http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。

当服务器向浏览器发送文档时,会先发送许多名称/值对。虽然有些服务器会发送许多这种名称/值对,但是所有服务器都至少要发送一个:content-type:text/html。这将告诉浏览器准备接受一个 HTML 文档。

使用带有 http-equiv 属性的 <meta> 标签时,服务器将把名称/值对添加到发送给浏览器的内容头部。例如,添加:

<meta http-equiv="charset" content="iso-8859-1">
<meta http-equiv="expires" content="31 Dec 2008">

这样发送到浏览器的头部就应该包含:

content-type: text/html
charset:iso-8859-1
expires:31 Dec 2008

当然,只有浏览器可以接受这些附加的头部字段,并能以适当的方式使用它们时,这些字段才有意义。

content 属性

content 属性提供了名称/值对中的值。该值可以是任何有效的字符串。

content 属性始终要和 name 属性或 http-equiv 属性一起使用。



2017.4.3更新

指定文档的字符编码,理想的方式是通过服务器在头部信息中发送字符编码,不过也可以在文档这个级别上指定。

在html4.01中需要这样做

<meta http-equiv="charset" content="iso-8859-1">

在XHTML1.0中就得在一个开始的XML标签中声明meta元素。

<?xml version="1.0" encoding="UTF-8"?>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
在HTML5中,只需输入下面代码即可

<meta charset="utf-8">











  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值