A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© u010209195 高级黑马   /  2014-8-1 14:19  /  1374 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 u010209195 于 2014-8-3 18:47 编辑
  1. <?xml version="1.0" encoding="gb2312"?>
  2. <root>
  3.   <boy>
  4.     <one>
  5.       <name>Jim</name>
  6.       <age>10</age>
  7.     </one>
  8.     <two>
  9.       <name>Tom</name>
  10.       <age>20</age>
  11.     </two>
  12.   </boy>
  13.   <girl>
  14.     <one>
  15.       <name>HanM</name>
  16.       <age>23</age>
  17.     </one>
  18.   </girl>
  19. </root>
复制代码

我用微软自带的记事本打开这个文件,另存为ANSI格式,然后在IE中重新打开XML文件,不会出现乱码,
那这里的encoding="GB2312"?>还有什么用处?????

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

8 个回复

倒序浏览
1. encoding: 页面中使用的文字编码,如果有中文,一定要指定编码;
2. 文本文档默认是以"GB2312"的编码,而浏览器是以UTF8 或UTF76来解释执行我们的文档;
3. 所以文档中不含有中文的时候,UTF和GB2312对英文的编码都是一样的,不会出现什么错误;
4. 而出现中文时,GB2312是经两个字节来表示一个中文,而在UTF里是三个字节,所以就会出现差错。
5. 用encoding来指明我们的编码是GB2312时,浏览器就知道我们用的是什么编码了就会采用相应的字符集进行解码。
6. GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。
7. 在使用GB2312的程序中,通常采用EUC储存方法,以便兼容于ASCII。浏览器编码表上的“GB2312”,通常都是指“EUC-CN”表示法。


评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
在简体中文系统下,ansi 编码代表 GB2312 编码,在日文操作系统下,ansi 编码代表 JIS 编码。不同 ansi 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ansi 编码的文本中。
回复 使用道具 举报
陈君 发表于 2014-8-1 15:41
在简体中文系统下,ansi 编码代表 GB2312 编码,在日文操作系统下,ansi 编码代表 JIS 编码。不同 ansi 编 ...

我用的是英文系统:XML中写入节点:姓名---IE中显示的为:濮撳悕,,完全乱掉了
回复 使用道具 举报
u010209195 发表于 2014-8-1 15:45
我用的是英文系统:XML中写入节点:姓名---IE中显示的为:濮撳悕,,完全乱掉了 ...

英文系统里好像没有GB2312编码,你另存为UTF-8,XML里的编码也改成UTF-8试试
回复 使用道具 举报
陈君 发表于 2014-8-1 15:55
英文系统里好像没有GB2312编码,你另存为UTF-8,XML里的编码也改成UTF-8试试

恩恩 修改为utf-8  不会出现乱码了。。
回复 使用道具 举报
记得编辑帖子为提问结束,这样版主才能来加分。
回复 使用道具 举报
路过,学习了,我一般写XML都保存为GB2312。
回复 使用道具 举报
陈君 发表于 2014-8-3 18:11
记得编辑帖子为提问结束,这样版主才能来加分。

恩恩 已经修改了。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马