XML创建及中文显示问题

XML默认UTF-8编码可能不显示汉字,导致出现错误提示。解决方法是将XML文件的encoding设为GB2312,如<?xml version="1.0" encoding="gb2312"?>,并使用doc.setXMLEncoding("gb2312")设置编码。确保XML文件的编码与其包含的数据内容匹配,避免解译错误、空白或乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建xml文件
        DocumentFactory factory = newDocumentFactory();
            Document doc = factory.createDocument();
            doc.addElement(OrganizateConstant.EREQUEST);
            doc.setXMLEncoding("gb2312");
            doc.setName("MainData.xml");
            Element root = doc.getRootElement();
            root.addAttribute("type", "0");
            Element head = root.addElement(OrganizateConstant.HEAD);
            Element security = head.addElement(OrganizateConstant.SECURITY);
            security.addAttribute("type", "0");
            Element element = security.addElement(OrganizateConstant.CA);
            element.setText("");
            element = security.addElement(OrganizateConstant.USER);
            element.setText(OrganizateConstant.USER_NAME);
            element = security.addElement(OrganizateConstant.PSWD);
            element.setText(OrganizateConstant.PASSWORD);

2、XML默认的编码格式是UTF-8,这种编码模式不显示汉字,所以经常有些初学者会遇到XML中汉字不能显示的问题,出现如下错误提示:An invalid character was found in textcontent...
【解 决方法】:

将encoding设为GB2312,即<?xml version="1.0"encoding="gb2312"?>doc.setXMLEncoding("gb2312")这样编码格式就被设置成简体中文了。

当XML文件的数据与编码不符合的时候,就可能发生无法正确解译的错误,也可能该数据会变成空白或乱码,所以应该根据文件的数据内容选择一个恰当的编码格式。

XML的编码格式有以下几种:
1、UTF-8:每一个字都有8位(1Byte)组成,通常是用来处理英文的,最多只能表示255个字母。当处理英文以外的语言时,会自动以16位(2Byte)方式进行处理。
使用范 例:<?xmlversion="1.0" encoding="UTF-8"?>
2、UTF-16:为16位(2Byte)的编码方式,采用UTF-16的编码方式时,连英文都会被强制以16位方式来处理,这就有别于UTF-8。
使用范例:<?xmlversion="1.0" encoding="UTF-16"?>
3、GB2312,GBK:即简体中文
使用范例:<?xmlversion="1.0"encoding="gb2312"?>
4、BIG5:即繁体中文。
使 用范例:<?xmlversion="1.0" encoding="big5"?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值