最近在做项目时需要通过xml接口读取合作伙伴数据到数据库,在xml解析环节出现有些特殊中文字符乱码的现象。后采取下面的办法终于解决。

1.curl 抓取过来的字符是unicode编码,需要先转换为utf-8.

2.统一文件格式为utf-8

  xml文档头部添加 <?xml version="1.0" encoding="UTF-8"?>

  抓取保存代码本身页面需要保存为utf-8格式

3.保证保存到数据库前把编码转换为数据库设置的保存编码,我们数据库是gb2312格式,所以保存前先转为gb2312

关于php用simplexml_load_string解析xml出现乱码的小结的更多相关文章

  1. simplexml_load_string 解析xml

    <?php //simplexml_load_string 解析两种类型的xml $res='<?xml version="1.0" encoding="UT ...

  2. 使用SimpleXML 解析xml

    最近搞解析XML搞的我是水深火热的,所以打算对PHP5解析XML做个学习小结.今天介绍下与PHP5捆绑在一起的SimpleXML扩展,这个用于可读写XML的新的API,让解析XML不再繁琐和困难,用起 ...

  3. 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】

    一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...

  4. PHP将解析xml变为数组方法

    最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析方式 xml文件 <?xml version="1.0" encoding=&qu ...

  5. java dom4j解析xml用到的几个方法

    1. 读取并解析XML文档: SAXReader reader = new SAXReader(); Document document = reader.read(new File(fileName ...

  6. 从XML文件乱码问题,探寻其背后的原理

    出现应用程序读取XML文件乱码的场景: 加入xml文件以<?xml version="1.0" encoding="utf-8" ?> 格式的:如果 ...

  7. PHP解析xml

    <?xml version="1.0" encoding="UTF-8"?> <ZIP_result> <result name= ...

  8. 从XML文件乱码问题,探寻其背后的原理(转)

    由于网友反应本文图片不能显示,由于时间关系未能及时修正.请访问原文地址: 本文出自http://blog.csdn.net/dinglang_2009/article/details/6895355, ...

  9. 使用DOM4J解析XML文档,以及使用XPath提取XML文档

    使用DOM4J解析XML文档 需要首先下载DOM4J工具包.这是个第三方工具包 在使用DOM4J解析的时候需要导入 DOM4J的JAR包 下载DOM4J工具包->在MyEclipse中新建lib ...

随机推荐

  1. iOS - Swift Swift 语言新特性

    1.Swift 2.0 带来哪些新变化 常规变化: 1.OS X 10.11.iOS 9 和 watchOS 2 SDK 采纳了一些 Objective-C 的特性用来提高 Swift 的编程体验, ...

  2. 期权交易基本原理——买进看跌期权(Long Put),卖出看跌期权(Short Put)

    期权交易基本原理--买进看跌期权(Long Put),卖出看跌期权(Short Put) 来源:中电投先融期货-青岛 浏览:13508次2014-07-25 14:25:55 3 第三节 买进看跌期权 ...

  3. Android 中Service生命周期

    使用context.startService() 启动Service 其生命周期为context.startService() ->onCreate()- >onStart()->S ...

  4. Android是如何绘制View的

    当一个activity获得焦点时, 它会被要求绘制它的布局. Android框架将处理绘制的过程, 但是activity必须提供它的布局体系的根节点. 绘制将从根节点开始, 根节点被要求测量和绘制布局 ...

  5. 遮罩、警告框/弹框 - EasyUI

    1.遮罩 1.1. $.messager.progress //开启遮罩 $.messager.progress({}); 或 $.messager.progress({ title: 'Please ...

  6. jQuery中$.post()的使用

    $.post()方法是jquery本身对ajax的一个简单封装,其效果等价于: $.ajax({ url:url, type:"POST", data:data, dataType ...

  7. DRUID连接池的实用 配置详解

    DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针 ...

  8. vc++编译libtiff4.0.4

    目录 第1章简介    1 第2章命令行编译    2 2.1 编译    2 2.1.1 使用VC++2010编译    2 2.1.2 使用VC++6编译    4 2.2 生成的文件    5 ...

  9. 在centos6.5中安装jdk

    一.下载jdk 下载地址 www.oracle.com,我这次安装的jdk是1.6版本的,以.bin结尾的,名称为 jdk-6u45-linux-i586.bin 二.安装步骤 1.在 /usr目录下 ...

  10. data structure

    转载请注明出处: 我所遇见的世界会更美好 我曾经逢人就说总是遇到这样那样错误无法解决,但是这些问题只要静下心来仔细思考根本没有解决不了的问题. 其实明明,超级超级简单,然而被老师讲的天花乱坠, 栈: ...