最近在用IBM的WebSphere MQ做数据传输,客户端操作系统Windows,服务器是AIX,我们用的都是UTF-8编码,但是联调时发现带中文的都出现了乱码。折腾了好久才发现问题,原来是CCSID的问题。虽然发送方客户端、接收方客户端和服务器的CCSID都是819,但是就是这个819惹的祸。819对应的编码是ISO-8859-1,支持大部分的西欧字符,但是却不支持中文。所以即使客户端用UTF-8进行数据发送,服务器还是会以CCSID对应的ISO-8859-1编码进行数据保存,所以从它里面取数据的时候用UTF-8编码取数据,取到的是以ISO-8859-1编码的数据。

解决方法:

以ISO-8859-1编码读服务器数据,然后再用UTF-8编码转换即可。

例如:

string dataXML= mqMessage.ReadString(mqMessage.Length);

byte[] byteArry=System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(dataXML);

dataXML=System.Text.Encoding.UTF8.GetString(byteArry);//将字符串转换为UTF-8类型

再给个CCSID相关的文章:http://blog.chinaunix.net/uid-24946452-id-2158886.html

最新文章

  1. iOS之UI--富文本总结
  2. Redis3.20阅读-SDS实现
  3. 作业七:团队项目——Alpha版本冲刺阶段009
  4. 常用的数据统计Sql 总结(转)
  5. 一篇搞定RSA加密与SHA签名|与Java完全同步
  6. Zookeeper未授权访问
  7. 使用DD_belatedPNG让IE6支持PNG透明图片
  8. 转-android图片降低图片大小保持图片清晰的方法
  9. *ecshop 模板中foreach用法详解
  10. js COOKIE 记住帐号或者uuid
  11. 《WPF程序设计指南》读书笔记——第6章 Dock与Grid
  12. 使用gulp在开发过程中合理导出zip文件
  13. GraphLab介绍[转]
  14. 自学Python2.2-基本数据类型-列表list(object)
  15. mybatis choose标签的使用
  16. Unity C#用WWW操作数据库
  17. Image 上传下载Api
  18. javascript 编程风格 部分精要
  19. matlab中输入x. 与x的区别
  20. 内联函数 —— C 中关键字 inline 用法解析

热门文章

  1. VUE 监听局部滚动 设置ICON的位置跟随
  2. myEclipse或eclipse复制或修改项目后的部署名称
  3. Longest palindrome subsequence
  4. MYSQL分表与分区
  5. CoreJava笔记之线程
  6. Java 字符串(String)格式转json格式
  7. 周记4——vue中动态添加图片无效、build上线后background-image路径问题
  8. nginx 代理转发 wcf接口
  9. 有意思的MySQL之最
  10. SailingEase .NET Resources Tool (.NET 多语言资源编辑器)转