Gson将一些字符自动转换为Unicode转义字符,怎么办?

最近用富文本编辑器,编辑微信素材的时候,发现微信群发的消息内容中有许多Unicode编码字符。

后来发现是Gson使用不当的问题。

Gson gson = new Gson();
String articleListStr = gson.toJson(articleList);
//将素材上传到微信服务器,系统群发的消息,其实是微信服务器上的素材。
String resposeString = HttpUtils.post(createNewsUrl,articleListStr);

原来,Gson会把html标签,转换为Unicode转义字符。导致微信群发内容异常。

正确的使用方法是:

Gson gson = new GsonBuilder().disableHtmlEscaping().create();

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-04 02:41:16

Gson将一些字符自动转换为Unicode转义字符,怎么办?的相关文章

将字符转换为unicode码

将字符转换为unicode码: /** * unicode转义字符 * @param ch * @param out */ public static void unicodeEscape(int ch, CharArr out) { out.write('\\'); out.write('u'); //字符ch向右移动12位之后,取最后一位 out.write(HEX_CHARS[ch>>>12]); //字符ch向右移动8位之后,取最后一位 out.write(HEX_CHARS[(

字符编码(续)---Unicode与ANSI字符串转换以及分辨字符编码形式

Unicode与ANSI字符串转换 我们使用windows函数MultiByteToWideChar将多字节字符串转换为宽字符字符串,如下: int MultiByteToWideChar( UINT uCodePage, DWORD dwFlags, PCSTR pMultiByteStr, int cbMultiByte, PWSTR pWideCharStr, int cchWideChar); uCodePage参数标识了与多字节字符串关联的一个代码页值.dwFlags参数允许我们进行额

【原创】利用typeface实现不同字体的调用显示及String转换为Unicode

最近工作用到,就写个小demo demo实现从assets中利用typeface调用不同字体,并在editText中显示出来 1.layout中创建activity_main.xml文件 布局代码如下: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 andr

【java解惑】Unicode转义字符的使用(续)

如下所示代码: public class Example016 { public static void main(String[] args) { char c = 0x000a; /**  * \u000A 注释1  */ // \u000A 注释2 System.out.println("c = " + c); System.out.println("a new line"); } } 结果: 编译时,提示注释2出现错误,导致无法正确编译. 结果分析:    

php编程之如何输入地址自动转换为经纬度

对于一些地图或地理位置的显示,通常要用到经纬度来表示,也就是用户输入地址之后,系统能够根据用户输入的位置信息进行经纬度的转换,那么这在技术上该如何实现呢?下面就来为大家简单介绍一下重点部分的代码实现,不过仅限腾讯地图.//输入地址获取经纬度(腾讯地图)function getAddress($address) {header("Content-type:text/html;charset=utf-8");$ak = 'YOUR-KEY';//你腾讯地图的k值$address = $ad

Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换

t使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec类用于不同编码格式之间的转换.关于Qt字符串格式转换以及QTextCodec的使用方式,网上有很多资料.其中大多数看起来很复杂,甚至根本无法完成转换工作,或者是基于较低的Qt版本编写.因此,有必要对使用QTextCodec完成字符串格式转换进行简要说明,本文中代码基于Qt5.1编写. 其实,在Qt帮助

扩展一个字符自动长度自动检测的函数

/** * 扩展一个字符自动长度自动检测的函数 * @param {[type]} max [description] * @param {Function} callback [description] * @return {[type]} [description] */ jQuery.fn.maxLength = function(max, callback) { this.each(function(){ var type = this.tagName.toLowerCase(); va

Qt读取ANSI格式文件——利用QTextCodec将其他编码格式转换为Unicode格式

Qt使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec类用于不同编码格式之间的转换.关于Qt字符串格式转换以及QTextCodec的使用方式,网上有很多资料.其中大多数看起来很复杂,甚至根本无法完成转换工作,或者是基于较低的Qt版本编写.因此,有必要对使用QTextCodec完成字符串格式转换进行简要说明,本文中代码基于Qt5.1编写. 其实,在Qt帮

php识别中文编码并自动转换为UTF-8

php自动识别编码,若里面有中文的话,将其转换为UTF-8就最好了,因为中文在Gbk编辑情况情况下,有可能会乱码,这个和客户端和服务端编码都有关系,为了避免乱码,我们可以使用下面的函数将其自动转换为UTF8国际标准编码: <?php function characet($data){ if( !empty($data) ){ $fileType = mb_detect_encoding($data , array('UTF-8','GBK','LATIN1','BIG5')) ; if( $fi