perl xml dom中文乱码问题解决
2019独角兽企业重金招聘Python工程师标准>>>
在linux服务器上,很容易出现中文乱码。
一般情况下,只要保持服务器环境是utf8,文件格式是utf8,用各种语言默认的读写文件方式通常不会出现乱码。
但是,在用perl xml dom写xml的时候就出现了这个问题。
perl xml dom默认应该是用ascii来读写文件,所以,对中文要先进行解码decode,再写入。
例如:
1 #更新显示的xml文件
2 sub writeXml
3 {
4 my $projectList = "$hometouch_root/config/projectList.xml";
5 my $parser = new XML::DOM::Parser ;
6 my $doc = $parser->parsefile($projectList);
7 XML::DOM::setTagCompression(sub{return 1});
8 my $newItem = $doc->createElement("item");
9 #所以这里先将中文进行解码
10 $newItem->setAttribute("name",decode("utf8",$projectChinese));
11 $newItem->setAttribute("eng",$projectName);
12 $newItem->setAttribute("version","");
13 my $root = $doc->getElementsByTagName("projects")->[0];
14 $root->appendChild($newItem);
15
16 #write the file
17 my $xml = ($doc->createXMLDecl('1.0','UTF-8')->toString).($root->toString) ;
18
19 open my $myfd, ">", $projectList;
20 print $myfd $xml ;
21 close $myfd ;
22
23 #xml tidy
24 my $tidy_obj = XML::Tidy->new('filename' => $projectList);
25 $tidy_obj->tidy();
26 $tidy_obj->write();
27 }
转载于:https://my.oschina.net/ifeixiang/blog/339595
perl xml dom中文乱码问题解决相关推荐
- java.net.url 中文乱码_jsp get Url请求方式中文乱码问题解决办法
本文章来给大家介绍关于jsp get Url请求方式中文乱码问题解决办法,有需要的朋友可参考. jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一 代码如下 复制代码 request ...
- php 和mysql中文乱码问题,常见php与mysql中文乱码问题解决办法
常见php与mysql中文乱码问题解决办法 乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输 ...
- springMVC保存数据到mysql数据库中文乱码问题解决方法
springMVC保存数据到mysql数据库中文乱码问题解决方法 参考文章: (1)springMVC保存数据到mysql数据库中文乱码问题解决方法 (2)https://www.cnblogs.co ...
- java执行cmd命令,返回结果中文乱码问题解决
java执行cmd命令,返回结果中文乱码问题解决 参考文章: (1)java执行cmd命令,返回结果中文乱码问题解决 (2)https://www.cnblogs.com/kwaitfort/p/90 ...
- Zip文件中文乱码问题解决方法(MAC->Windows)
Zip文件中文乱码问题解决方法(MAC->Windows) 参考文章: (1)Zip文件中文乱码问题解决方法(MAC->Windows) (2)https://www.cnblogs.co ...
- python3 库pandas写入csv格式文件出现中文乱码问题解决方法
python3 库pandas写入csv格式文件出现中文乱码问题解决方法 参考文章: (1)python3 库pandas写入csv格式文件出现中文乱码问题解决方法 (2)https://www.cn ...
- centos7 中文乱码问题解决方法
centos7 中文乱码问题解决方法 参考文章: (1)centos7 中文乱码问题解决方法 (2)https://www.cnblogs.com/lywJ/p/10710460.html 备忘一下.
- ubuntu mysql emma_ubuntumysql客户端emma中文乱码问题解决_MySQL
Ubuntu bitsCN.com ubuntu mysql客户端emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(pyt ...
- python json.dumps慢_python json.dumps中文乱码问题解决
json.dumps(var,ensure_ascii=False)并不能解决中文乱码的问题 json.dumps在不同版本的Python下会有不同的表现, 注意下面提到的中文乱码问题在Python3 ...
最新文章
- Ubuntu 16.04 安装Django
- 和dump文件_SRA数据库及下载二代测序原始数据转换为fastq文件
- Flask web开发之路四
- 聊聊高并发(二十一)解析java.util.concurrent各个组件(三) 深入理解AQS(一)
- OpenGL 入门第一课 视窗以及三角形
- 半夜,滴滴司机问我会LRU吗?
- Linux已经霸占了服务器领域
- 贪心算法——洛谷(P4995)跳跳!
- Android NDK开发之旅25 NDK 模仿QQ变声特效
- MySQL Explain命令详解--表的读取顺序,数据读取操作的类型等
- install openni2 on ubuntu
- 2字段添加注释_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
- 11.string容器
- MongoDB高可用集群搭建(主从、分片、路由、安全验证)
- python 高等数学实验_高等数学——基于Python的实现
- 华为手机老是android自动升级,华为手机系统怎么升级 华为手机升级系统的两种方法...
- Cisco Packet Tracer交换机划分VLAN
- 信度spss怎么做_SPSS进行问卷量表信度检验(详细操作过程及结果分析)
- Microhard P900 900MHz跳频电台核心模块
- 高手 读书笔记-1.精英社会的神话
热门文章
- mysql基础命令大全
- ShopEx 中规格属性增加时,自动计算其对应的销售价格,同时注意模板中的变量间的计算
- 取得服务器支持的图形类型
- centos安装ES(elasticsearch)
- 关于js渲染网页时爬取数据的思路和全过程(附源码)
- idea 中使用 jetty 插件
- Ubuntu设置环境变量并立即生效
- postgresql如何实现group_concat功能
- SQL Server2000数据库文件损坏时如何恢复
- 主产品清单位于oracle,OPatch failed with error code 73(OracleHomeInventory gets null oracleHomeInfo)...