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中文乱码问题解决相关推荐

  1. java.net.url 中文乱码_jsp get Url请求方式中文乱码问题解决办法

    本文章来给大家介绍关于jsp get Url请求方式中文乱码问题解决办法,有需要的朋友可参考. jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一 代码如下 复制代码 request ...

  2. php 和mysql中文乱码问题,常见php与mysql中文乱码问题解决办法

    常见php与mysql中文乱码问题解决办法 乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输 ...

  3. springMVC保存数据到mysql数据库中文乱码问题解决方法

    springMVC保存数据到mysql数据库中文乱码问题解决方法 参考文章: (1)springMVC保存数据到mysql数据库中文乱码问题解决方法 (2)https://www.cnblogs.co ...

  4. java执行cmd命令,返回结果中文乱码问题解决

    java执行cmd命令,返回结果中文乱码问题解决 参考文章: (1)java执行cmd命令,返回结果中文乱码问题解决 (2)https://www.cnblogs.com/kwaitfort/p/90 ...

  5. Zip文件中文乱码问题解决方法(MAC->Windows)

    Zip文件中文乱码问题解决方法(MAC->Windows) 参考文章: (1)Zip文件中文乱码问题解决方法(MAC->Windows) (2)https://www.cnblogs.co ...

  6. python3 库pandas写入csv格式文件出现中文乱码问题解决方法

    python3 库pandas写入csv格式文件出现中文乱码问题解决方法 参考文章: (1)python3 库pandas写入csv格式文件出现中文乱码问题解决方法 (2)https://www.cn ...

  7. centos7 中文乱码问题解决方法

    centos7 中文乱码问题解决方法 参考文章: (1)centos7 中文乱码问题解决方法 (2)https://www.cnblogs.com/lywJ/p/10710460.html 备忘一下.

  8. ubuntu mysql emma_ubuntumysql客户端emma中文乱码问题解决_MySQL

    Ubuntu bitsCN.com ubuntu mysql客户端emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(pyt ...

  9. python json.dumps慢_python json.dumps中文乱码问题解决

    json.dumps(var,ensure_ascii=False)并不能解决中文乱码的问题 json.dumps在不同版本的Python下会有不同的表现, 注意下面提到的中文乱码问题在Python3 ...

最新文章

  1. Ubuntu 16.04 安装Django
  2. 和dump文件_SRA数据库及下载二代测序原始数据转换为fastq文件
  3. Flask web开发之路四
  4. 聊聊高并发(二十一)解析java.util.concurrent各个组件(三) 深入理解AQS(一)
  5. OpenGL 入门第一课 视窗以及三角形
  6. 半夜,滴滴司机问我会LRU吗?
  7. Linux已经霸占了服务器领域
  8. 贪心算法——洛谷(P4995)跳跳!
  9. Android NDK开发之旅25 NDK 模仿QQ变声特效
  10. MySQL Explain命令详解--表的读取顺序,数据读取操作的类型等
  11. install openni2 on ubuntu
  12. 2字段添加注释_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  13. 11.string容器
  14. MongoDB高可用集群搭建(主从、分片、路由、安全验证)
  15. python 高等数学实验_高等数学——基于Python的实现
  16. 华为手机老是android自动升级,华为手机系统怎么升级 华为手机升级系统的两种方法...
  17. Cisco Packet Tracer交换机划分VLAN
  18. 信度spss怎么做_SPSS进行问卷量表信度检验(详细操作过程及结果分析)
  19. Microhard P900 900MHz跳频电台核心模块
  20. 高手 读书笔记-1.精英社会的神话

热门文章

  1. mysql基础命令大全
  2. ShopEx 中规格属性增加时,自动计算其对应的销售价格,同时注意模板中的变量间的计算
  3. 取得服务器支持的图形类型
  4. centos安装ES(elasticsearch)
  5. 关于js渲染网页时爬取数据的思路和全过程(附源码)
  6. idea 中使用 jetty 插件
  7. Ubuntu设置环境变量并立即生效
  8. postgresql如何实现group_concat功能
  9. SQL Server2000数据库文件损坏时如何恢复
  10. 主产品清单位于oracle,OPatch failed with error code 73(OracleHomeInventory gets null oracleHomeInfo)...