1.在程序开发中,我们常遇到中文乱码的问题:

eg.从页面传来的中文,到后台乱码了。怎么办

那么在接受页面传值的前面要加上这么一句代码:

request.setCharacterEncoding("UTF-8");

如果还是不行:那么我们就需要转码了,eg.=

request.setCharacterEncoding("UTF-8");

String name = request.getParameter("username");

name = new String(name.getBytes("ISO8859-1"),"UTF-8");

2. 当你向页面输出内容时,如何避免中文乱码。eg.向页面输出XML,HTML

应该加上

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

out.print("....");

out.flush();

out.close();

==========================================================================

2013-06-21-han

当我们通过URL进行传值时,为了防止中文乱码的问题,我们可以这样做,

1.传值的地方:java.net.URLEncoder.encode("中文中文");

2.接受的地方:java.net.URLDecoder.encode("接受的中文值");

可以参考的一篇文章

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2014-10-15-han------------httpClient等网络请求返回值乱码问题分析

1.java中,UTF-8 → GBK,可能乱成下面的

2.java中,GBK → UTF-8,可能乱码如下

3.

对于httpClient等网络请求乱码的原因可能如下:

①  请求方和接收方没有统一字符。

②   没有对接收的字符做字符硬编码,而是使用jvm默认的file.encoding的默认编码。

4.案例展示:

logger.info("+++++++++ JDK的位数:" + System.getProperty("sun.arch.data.model"));

logger.info("file.encodin ============  encoding:"+ System.getProperty("file.encoding"));

logger.info("sun.jnu.encoding============  encoding:" +System.getProperty("sun.jnu.encoding"));

本地打印:64位,GBK,GBK。                → 中文不乱码

Linux上:64位,UTF-8,UTF-8              → 中文乱码

5.分析原因:

在java中,如果没有指定charset的时候,比如newString(byte[] bytes),都会调用Charset.defaultCharset()的方法。所以,java中编码中,我们应该学会指定字符编码!

BufferedReader in = newBufferedReader(new FileReader(path.toString()));

换成:

BufferedReader in = newBufferedReader((new InputStreamReader(newFileInputStream(path.toString()),"utf-8")))

new String(decrypt(hexStr2ByteArr(strIn)));

换成:

new String(decrypt(hexStr2ByteArr(strIn)),"GBK");

new String(Base64.decodeBase64(s.getBytes()));

换成:

new String(Base64.decodeBase64(s.getBytes()),"GBK");

参考文章:

http://blog.csdn.net/raintungli/article/details/6651076

http://blog.csdn.net/zzs0829/article/details/7407598            【jvm默认字符编码问题】

http://www.kankanews.com/ICkengine/archives/35323.shtml

http://blog.csdn.net/zhuyijian135757/article/details/37706437

http://blog.csdn.net/zhengqiqiqinqin/article/details/17501219

http://www.cnblogs.com/silentjesse/archive/2011/11/04/2235674.html

转载于:https://blog.51cto.com/hanchaohan/931061

中文乱码问题的一些总结相关推荐

  1. SpringSecurity安全验证中文乱码问题

    使用SpringSecurity做安全验证时发现form表单中提交中文名会出现乱码问题. 原因是因为我在web.xml配置文件中将springSecurityFilterChain拦截器放在了 cha ...

  2. httpclient工具类,post请求发送json字符串参数,中文乱码处理

    在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码的.可是在使用httpclient发送post请求报文含中文 ...

  3. 关于HttpClient上传中文乱码的解决办法

    使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单: 第一步:设置Mult ...

  4. Servlet、MySQL中文乱码

    1.Servlet中文乱码: 在doPost或doGet方法里,加上以下两行即可: response.setContentType("text/html;charset=UTF-8" ...

  5. android java 中文乱码_android读写中文如何避免乱码详解

    前言 android读取文件中文出现乱码的原因无非就是,读取文件的字符格式与写如文件的格式不一致.因此,避免中文乱码,要在写入文件的时候按照一定的格式写入,读取的时候按照一定的格式读取.这样对应就不会 ...

  6. java servlet 参数乱码_JSPServlet处理参数中的中文乱码总结

    从form表单提交信息到一个JSP页面或者一个Servlet进行处理的时候,提交的中文信息若不加处理的话就会显示乱码,如一串???.现在通过一个例子来进行总结如下: 写一个用户信息提交页面,通过这个页 ...

  7. php pdo 中文乱码,php pdo oracle中文乱码的快速解决方法

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PAT ...

  8. sqlserver mysql 乱码_SQLServer数据库如何解决中文乱码问题?方法有哪些?

    很多使用数据库的人都知道,在安装SQLServer数据库是,如果设置不当就会出现一些中文乱码.主要原因是,很多人在使用默认安装系统时,一般不会考虑到默认排序的规则是拉丁文的排序规则,只是点击下一步,在 ...

  9. JAVA中文注解驱动,解决api接口返回的json里面出现中文乱码的问题

    在src/main/resources/springmvc-servlet.xml中加入 <!-- 中文注解驱动 --> <mvc:annotation-driven>< ...

  10. U盘挂载,gedit,vi,文本模式中文乱码等等问题

    U盘或硬盘挂载 首先,我们要查看一下磁盘的分区信息sudo fdisk -l   (注意注意,是小写的L,不是1,也不是i) 这里可以看到我的硬盘情况,前面几个是win7系统下的C,D ,E ,F 盘 ...

最新文章

  1. [HOW TO]-VirtualBox的虚拟机通过宿主机代理上网
  2. Tomcat内部结构及工作原理学习
  3. 485光纤转换器产品分类介绍
  4. 探究数字内容生产商机,把握未来内容生产脉搏
  5. (138)System Verilog覆盖率目标设置
  6. Windows 下搭建 Ruby 开发环境
  7. 树莓派 libcurl安装
  8. apache geode项目结构_使用IntelliJ IDEA+Maven 创建、开发、管理项目
  9. python 公开课_【python公开课|学好python前,必须掌握这篇Python for 循环语句,还不会就快来看看】- 环球网校...
  10. QT+OPENCV+FFTW内存问题
  11. (转载)mysql查询今天、昨天、7天、近30天、本月、上一月数据
  12. 关于julia的路径问题,往往很重要!
  13. 云宏大讲坛 | 灵活轻便的云宏CNware虚拟防火墙
  14. VS2010编译log4cpp日志库
  15. 奉劝各位准大一的学弟学妹们,这个暑假只要作对一件事,大学的时候你就是王者!
  16. Win10专业版开机自动拨号
  17. oracle导入blob出错,oracle导出blob,clob出错的问题
  18. 去掉迅雷右侧内置浏览器
  19. webchart 生成饼状图 java_WebChart生成折线图,柱状图,饼状图
  20. 码题集新手村600道(前300道)

热门文章

  1. 北斗导航 | 精密单点定位软件之rtklib的静态定位测试(RTKlib)
  2. C语言 | C51实现MAX485通信(完整源代码)
  3. android lame wav 转 mp3,Android JNI Lame编解码实现wav到MP3的转换
  4. 谈谈java面向对象思想_对于Java面向对象思想的理解
  5. 医疗器械软件网络安全法规和标准概述(附所有标准)
  6. Python 网络爬虫笔记5 -- Beautiful Soup库实战
  7. c++17进阶(2)-Lua扩展(1)
  8. AI理论知识基础(24)-凸函数
  9. 【机器学习】如何通俗易懂地阐述机器学习?
  10. 【Python基础】这个Pandas函数可以自动爬取Web图表