Atitit 乱码的检测与纠正总结 目录 1. Atitit.request 乱码的检测与解决 attilax总结 1 1.1. 乱码的检测,,可以检测,列徐俩个问好?? 1 1.2. 使用常用汉字
Atitit 乱码的检测与纠正总结
目录
1. Atitit.request 乱码的检测与解决 attilax总结 1
1.1. 乱码的检测,,可以检测,列徐俩个问好?? 1
1.2. 使用常用汉字检测。如果发现常用汉字 2
1.3. 英文大小写字母,数字以及附加一个小数点 3
1.4. 检测阈值60% 3
2. 乱码的纠正 3
2.1. 常用乱码探测 3
2.2. 决策树 3
2.3. 使用策略模式逐一探测常用编码 3
2.4. Req map乱码的纠正 4
3. 调用 指定纠正乱码的列 为了稳定性 4
4. 性能与稳定性 5
4.1. Cache guava 5
4.2. 调用foreach try catch 5
5. 保障正确性 与稳定性 5
5.1. 指定纠正列白名单机制 5
5.2. 字库文件编码侦测 5
5.3. 字库长度探测与提示 5
5.4. Str2list set的时候空字符检测与重整 5
5.5. 检测阈值开放 5
6. Ref 5
1. Atitit.request 乱码的检测与解决 attilax总结
乱码
1.1. 乱码的检测,,可以检测,列徐俩个问好??
if(value.contains("??"))
value=v_oriagal
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
1.2. 使用常用汉字检测。如果发现常用汉字
使用常用汉字2500与英文大小写字母,数字以及附加一个小数点。检测阈值60
%
private static boolean isCoreectDecode(String s) {
// Strutil.toSet(compressableMimeType, string)
String f = "";
try {
f = FileUtils.readFileToString(new File(pathx.classPath() + File.separator + "com/attilax/web/2500.txt"),
"utf8");
} catch (IOException e) {
throw new RuntimeException(e);
}
f = f + "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.";
charset = strService.toSetNoSplitor(f);
List<String> li_sa =strService. toListNoSplitor(s);
int correctCnt = 0;
for (String ch : li_sa) {
if (charset.contains(ch))
correctCnt++;
}
if ((float) correctCnt / (float) s.length() > 0.6)
return true;
else
return false;
}
1.3. 英文大小写字母,数字以及附加一个小数点
1.4. 检测阈值60%
2. 乱码的纠正
2.1. 常用乱码探测
2.2. 决策树
2.3. 使用策略模式逐一探测常用编码
public static String getCorrectDecodeTxt(String s) {
if (isCoreectDecode(s))
return s;
else
{
String iso2gbk= encodeService.iso2gbk(s);
if(isCoreectDecode(iso2gbk))
return iso2gbk;
String iso2utf= encodeService.iso2utf(s);
if(isCoreectDecode(iso2utf))
return iso2utf;
String gbk2utf8= encodeService.gbk2utf8(s);
if(isCoreectDecode(gbk2utf8))
return gbk2utf8;
String utf2gbk= encodeService.utf2gbk(s);
if(isCoreectDecode(utf2gbk))
return utf2gbk;
}
return s;
}
2.4. Req map乱码的纠正
public static void setCorrectDecodeText(Map<String, Object> paramMap, String keys) {
String[] sa=keys.split(",");
for (String k : sa) {
try {
String correctDecodeTxt = encodeService.getCorrectDecodeTxt(paramMap.get(k).toString());
paramMap.put(k, correctDecodeTxt);
} catch (Exception e) {
e.printStackTrace();
}
}
}
3. 调用 指定纠正乱码的列 为了稳定性
防止过纠正
public ModelVo weizhonRec_save() throws Exception{
ModelVo modelVo = new ModelVo();
Map<String,Object> paramMap =reqService.putMapByReqParams("VCF08,VAA07,VCF09,VCF65,VCF66,VCF67,VCF68,VCF69,VCF70,VCF09A,VCF18,VAA05,BCE03A,VAA01,VCF11,BCE01A,room",request1);
encodeService.setCorrectDecodeText(paramMap,"BCE03A,VCF65,VCF66,VCF67,VCF68,VCF69,VCF70");
// String correctDecodeTxt = encodeService.getCorrectDecodeTxt(s);
//try{
vaf2Bo.weizhonRec_save(paramMap);
4. 性能与稳定性
4.1. Cache guava
4.2. 调用foreach try catch
5. 保障正确性 与稳定性
5.1. 指定纠正列白名单机制
5.2. 字库文件编码侦测
5.3. 字库长度探测与提示
5.4. Str2list set的时候空字符检测与重整
5.5. 检测阈值开放
6. Ref
/honurse/src/com/attilax/web/encodeService.java
response设置编码的三种方式 - 微尘的世界 - ITeye技术网站.html
java检测乱码原编码 - CSDN博客.html todo
7. Mindchart
· 1. 乱码检测
· 1.1. 乱码的检测,,可以检测,列徐俩个问好?? 1
· 1.2. 使用常用汉字检测。如果发现常用汉字 2
· 1.3. 英文大小写字母,数字以及附加一个小数点 3
· 1.4. 检测阈值60% 3
· 2. 乱码的纠正 3
· 2.1. 常用乱码探测 3
· 2.2. 决策树 3
· 2.3. 使用策略模式逐一探测常用编码 3
· 2.4. Req map乱码的纠正 4
· 3. 调用 指定纠正乱码的列 为了稳定性 4
· 4. 性能与稳定性 5
· 4.1. Cache guava 5
· 4.2. 调用foreach try catch 5
· 5. 保障正确性 与稳定性 5
· 5.1. 指定纠正列白名单机制 5
· 5.2. 字库文件编码侦测 5
· 5.3. 字库长度探测与提示 5
· 5.4. Str2list set的时候空字符检测与重整 5
· 5.5. 检测阈值开放 5
Atitit 乱码的检测与纠正总结 目录 1. Atitit.request 乱码的检测与解决 attilax总结 1 1.1. 乱码的检测,,可以检测,列徐俩个问好?? 1 1.2. 使用常用汉字相关推荐
- 整理的3500个常用汉字的调用字典
3500个常用汉字的调用字典 下载地址:https://download.csdn.net/download/hj960511/85034461 资源说明: 总数目: 目录截图 实际字典情况: 调用方 ...
- Atitit db analysis statistics tonjyi fsy数据库统计分析目录1. Atitit 数据库表与注释文档与统计(表,说明) 11.1. 获取表列表 数据库包含哪些
Atitit db analysis statistics tonjyi fsy数据库统计分析 目录 1. Atitit 数据库表与注释文档与统计(表,说明) 1 1.1. 获取表列表 数据库包 ...
- [日语]基于日语常用汉字表的音读到汉字的映射表
音读 汉字 ア 亜 アイ 哀挨愛曖 アク 悪握 アツ 圧 アン 安案暗行 イ 以衣位囲医依委威為畏胃尉異移萎偉椅彙意違維慰遺緯易唯 イキ 域 イク 育 イチ 一壱 イツ 一逸 イン 引印因咽姻員院淫陰 ...
- 常用汉字的UNICODE和对应的繁体字
常用汉字的UNICODE和对应的繁体字 UNICODE是简体字对应的 后面的繁体字是我用GOOGLE自动翻译的 UNICODE 简体字 繁体字 21834 啊 啊 38463 阿 ...
- 分享:常用汉字的unicode 编码
分享:常用汉字的unicode 编码 常用汉字的unicode 编码 http://my.oschina.net/Boston/blog/92273 posted on 2012-11-28 01:1 ...
- html英文模板显示中文,网上下的网站模板,用dreamweaver修改字体后,我如果用搜狗打进去汉字就显示乱码,但如果我打的是英文就能显示,不知道怎么解决,求各位大神帮忙。...
网上下的网站模板,用dreamweaver修改字体后,我如果用搜狗打进去汉字就显示乱码,但如果我打的是英文就能显示,不知道怎么解决,有没有知道是什么情况,求各位大神帮忙. Photographica- ...
- paip 一千 常用汉字 高频汉字 覆盖率90
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! paip ...
- 开题报告、文献检索账号、文献综述、外文翻译、抄袭检测软件、论文目录,都在这了都在这了,有备无患,拿去吧!
开题报告.文献综述.外文翻译.论文反抄袭软件.论文目录,就差论文正文了,其他都全了!! 开题报告主要包括以下几个方面: (一)论文名称 论文名称就是课题的名字 第一,名称要准确.规范.准确就是论文的名 ...
- 三国志X威力加强版 解决新武将姓名和列传乱码问题——大五码(BIG5)
博主小的时候很喜欢读<三国演义>,也喜欢玩光荣的三国志系列.三国志10可以说是比较好玩的了,可以操纵一个角色在三国世界里打拼~ 但是有的时候博主也想自己去创作新武将,制作自己喜欢的角色,虽 ...
- Ubuntu9.10 server 安装配置 vsftpd2.2.0 ftp服务器 并且 解决 putty 登陆 sshd 显示中文乱码
因为安装了web服务器在 Ubuntu9.10 server 上, 有一些网站要放在上面进行测试, 这样就要和windows xp 的文件进行交换了, 例如网站程序在 windows 下开发好了, 把 ...
最新文章
- cmd变量,参数,for循环,
- IIS 上传文件大小配置步骤(默认200K)
- Codeforces Round #624 (Div. 3) E. Construct the Binary Tree 思维 + 构造
- iOS -转载-开发之个人开发者账号转公司开发者账号
- Red Hat 6.5安装Oracle 10g故障汇总
- nacos 本地测试_本地调试和服务器调试都无法连通-问答-阿里云开发者社区-阿里云...
- LINQ TO OBJECT
- 项目: 基于Python socket模块实现的简单 ftp 项目:
- Trie树讲解(例题:ACWING 835,ACWING 143)
- python大数据培训班
- “ARP欺骗”木马病毒
- java根号n元素的合并排序算法_根号N段合并排序
- mpvue小程序《校友足迹》成长记(一)
- 去除面部黑色素小妙招_去除脸部黑色素7个小方法
- 【实习日报】2019年4月上半月 前端开发实习工作日报汇总
- 支付宝对账单CSV解析
- vue配置sass全局变量
- CF106C Buns动态规划解决多重背包
- 阿里旺旺登陆提示超时
- IDEA 离线安装插件
热门文章
- 计算机网络苏州大学题库,苏州大学计算机网络样卷B[计科大类].doc
- 异步更新php数据库,ajax异步刷新实现更新数据库_jquery
- win10运行在哪里_原来win10还有LTSC版:10G大小+不强制更新,运行比win7更快!
- python小课账号转卖_Python小课笔记--Python报错处理
- UIScrollView setContentOffset: animated:YES 偶尔卡顿解决方案
- 是时候该了解下Unity3D了
- 从零开始学习Sencha Touch MVC应用之十三
- [文档].Altera - Nios II Flash Programmer用户指南
- Java-多线程第二篇多线程相关认识(2)
- Java_学生信息管理系统——数组版——尝试将main函数单独放了一个类,并加了文件...