创建一个xml时 如果<?xml version="1.0"  encoding="GB2312" ?>更改encoding的值为UTF-8,保存后查看该文件会发现文件的编码属性会变成UTF-8,再改成GB2312,编码又变成了GB2312.

对这个问题,很好奇,于是去查了下,W3C定义了三条XML解析器如何正确读取XML文件的编码的规则,有如下说明

1.一般文件定义时都会带文件格式(即BOM,BOM就是 byte order mark的缩写 ,字节顺序标记,一般来说,如果保存为unicode格式,则包含BOM,ANSI则无),如果有bom,查看编码时就已bom为准

2,如果没有BOM,就查看XML声明的编码属性即第一行的encoding
 3,如果上述两个都没有,就假定XML文挡采用UTF-8编码

关于xml里的encoding的更多相关文章

  1. pom.xml里有红叉报错的解决办法

    pom.xml里有红叉报错的解决办法一: 1.把鼠标点在报的错上发现pom.xml报如下错误: Multiple annotations found at this line: - Failure t ...

  2. CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题

    这是我2018年的第一篇博客...人真是懒了啊...最近在写微信小程序,觉得小程序做的也... 好了不吐槽了,言归正传 前言: 由于我之前不是买了个三年的香港服务器么 , 之前广州2的服务器我就没有续 ...

  3. pom.xml里发布和下载包

    1.下载包 在<project>标签中 <repositories> <repository> <id>nexus</id> <url ...

  4. web.xml里welcome-file欢迎页面配置及web.xml简介

    web项目欢迎页面的配置 <welcome-file-list> <welcome-file>/WEB-INF/index.html</welcome-file> ...

  5. Maven - settings.xml里的offline节点的作用

    场景 某天我在本地修改了某个子项目的代码,并进行了打包:mvn clean install -DskipTests,接着我运行父项目却发现自己刚刚的改动并没有生效,或者说,我刚刚打包好的子项目变回了打 ...

  6. web.xml里,classpath使用范围

    比如说在web.xml里,配置spring监听. 在标签<param-value>里,classpath指向的配置文件路径应该是在config资源文件夹下的applicationConte ...

  7. 解决旋转屏幕闪退在androidManifest.template.xml里,activity项添加:

     解决旋转屏幕闪退在androidManifest.template.xml里,activity项添加:android:configChanges="orientation|keyboard ...

  8. 在XML里的XSD和DTD以及standalone的使用3----具体使用详解

    本人亲自写的一个简单的测试例子 1.xsd定义 <?xml version="1.0" encoding="utf-8"?><xs:schem ...

  9. 在XML里的XSD和DTD以及standalone的使用2----具体使用详解

    如何定义XSD并在XML中使用XSD 同时XSD可以对XML中的格式进行约束,当约束失败时给出提示. 下面以下使用VS2010为平台进行演示. 1.新建一个项目,然后在项目中添加xml架构文件(.xs ...

随机推荐

  1. wamp安装xdebug特殊情况win7 64位安装32位wamp

    在wamp上安装xdebug网上很多文章都介绍了方法,但是我这里遇到了一个很特殊的情况,在网上很少有人提及: 我机器是win7 64位的,安装的wamp1.7.4是32位的,这是后来导致出现奇怪现象的 ...

  2. Linux下RTL-SDR基础环境安装

    安装 cmake and libusb apt-get install cmake apt-get -dev 安装 RTL-SDR sudo apt-get install rtl-sdr kali已 ...

  3. Android内存机制分析2——分析APP内存使用情况

    上面一篇文章说了Android应用运行在dalvik里面分配的堆和栈内存区别,以及程序中什么代码会在哪里运行.今天主要是讲解一下Android里面如何分析我们程序内存使用情况.以便后续可以分析我们程序 ...

  4. APMServ5.2.6 升级php5.2 到 5.3版本及Memcache升级!

    一.如何选择PHP5.3的VC9版本和VC6版本 VC6是什么?VC6就是legacy Visual Studio 6  compiler,就是使用这个编译器编译的.VC9是什么?VC9就是the V ...

  5. " java.lang.NoSuchFieldError: HBASE_CLIENT_PREFETCH_LIMIT

    0down vote This issue is caused by the version of hbase-client in your pom differing from the jar ve ...

  6. Html模板渲染引擎Hogan

    Github:https://github.com/twitter/hogan.js 最简单的使用教程:http://www.imooc.com/article/18493

  7. java获取上周任意一天的日期

    /** * 获取上周周几的日期,默认一周从周一开始 * @param dayOfWeek * @param weekOffset * @return */ public static Date get ...

  8. android 开发第三库

    http://blog.daimajia.com/android-library-collection/ http://www.apkbus.com/android-180062-1-1.html h ...

  9. PopupWindow 常用方法学习笔记

    PopupWindow可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画. 首先解析一个View LayoutInflater inflater = getLayoutInflater(); ...

  10. 【oneday_onepage】——Microsoft addresses DevOps with InRelease technology

    Microsoft addresses DevOps with InRelease technology A Microsoft-branded version of InRelease will b ...