乱码问题

在开发时遇到一些 乱码问题  只是生僻字的乱码  如 燊 媗 这类

对方的数据库为 Oracle  

字符集为

问题原因:对方数据库编码未知  由中间层传过来的数据格式为 utf-8 但生僻字的字符 会转为类似于unicode 如 燊 会转为 \u009f? 导致转换更换编号后一直存在问题 

解决办法 : 在中间层取回来后 直接转为字节  让后转换为iso-8859-1 继而进行破碎重组 转换为utf-8 此时显示已经正确  但是还是一个单独的json串   转为单独的门诊病人对象后  返回到页面上 此时页面显示已经正常


代码展示:

System.out.println("returnMap" + returnMap);

try {

//输出的json 格式 为[{"PATIENTID":"SY00144840","PATIENTINID":"SY00144840","PATIENTNAME":"徐炜燊","GENDER":"2","AGE":"7","AGEFLAG":"1","DEPTCODE":"028804","WARDCODE":"028804","DIAGNOSIS":"1、重型地中海贫血"}]

System.out.println("测试输出utf" +new String(json.toString().getBytes("iso-8859-1"),"GBK"));

json =new String(json.toString().getBytes("iso-8859-1"),"GBK");

json=json.replace("[","").replace("]","");

DtoHisPatient a=JSONObject.parseObject(json,DtoHisPatient.class);

list.add(a);

returnMap.put("rows", a);

System.out.println("json 输出"+json);

return list;

}catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。