java中文传值乱码问题的解决方法

 更新时间:2020年09月11日 15:23:41   作者:zcj2860755  
这篇文章主要为大家详细介绍了java中文传值乱码问题的解决方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java中文传值乱码问题,以及解决方法,供大家参考,具体内容如下

一般编码格式设置:

1.可以经过两次编码处理,即设置字符集后,在插入前解码字符集,也是最有效的方式

设置字符集:

String value=null; 
try { value= URLEncoder.encode(jsonObjectPar.getString(“value”), “UTF-8”); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }

解码字符集:

String value=null; 
try { 
value= new String(value.getBytes(“iso-8859-1”),”UTF-8”); 
} catch (UnsupportedEncodingException e) { 
e.printStackTrace(); 
} 

2.直接处理:

userName = new String(userName.getBytes(“ISO-8859-1”), “UTF-8”);

3.如果断点跟的时候插入的时候是中文,到数据库后乱码,一般是数据库没有设置为UTF-8;

首先查看数据库编码(MySQL为例):
数据库查询中运行: show variables like ‘character%';查看所有编码信息
修改不是UTF-8的字符集,主要查看datebase是否是UTF-8, 命令

show variables like ‘character%'; 
+————————–+—————————-+ 
| Variable_name | Value | 
+————————–+—————————-+ 
| character_set_client | latin1 | 
| character_set_connection | latin1 | 
| character_set_database | latin1 | 
| character_set_filesystem | binary | 
| character_set_results | latin1 | 
| character_set_server | latin1 | 
| character_set_system | utf8 | 
| character_sets_dir | /usr/share/mysql/charsets/ | 
+————————–+—————————-+ 

从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;
其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码; character_set_results结果集的编码; character_set_server数据库服务器的编码,只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

4.从后台到页面乱码的问题:

返回数据之前先设置字符集:
response.setCharacterEncoding(“utf-8”);

5.jsp页面到后台乱码:

5-1.jsp的编码设置为utf-8
5-2.后台这样判断

String name = request.getParameter(“ABC”); 
if(name.equals(new String(request.getParameter(“ABC”).getBytes(“iso8859-1”), “iso8859-1”))) { 
name = new String(name.getBytes(“iso8859-1”),”UTF-8”); 
} 

get方式提交的编码是iso8859-1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • mybatisplus @Select注解中拼写动态sql异常问题的解决

    mybatisplus @Select注解中拼写动态sql异常问题的解决

    这篇文章主要介绍了mybatisplus @Select注解中拼写动态sql异常问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java Properties作为集合三个方法详解

    Java Properties作为集合三个方法详解

    Properties是JDK1.0中引入的java类,目前也在项目中大量使用,主要用来读取外部的配置,那除了这个,你对它其他的一些api也了解吗? 你了解它是怎么实现的吗? 如果不清楚的话,就通过本篇文章带你一探究竟
    2022-11-11
  • Spring Boot2发布调用REST服务实现方法

    Spring Boot2发布调用REST服务实现方法

    这篇文章主要介绍了Spring Boot2发布调用REST服务实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java 中 synchronized的用法详解(四种用法)

    Java 中 synchronized的用法详解(四种用法)

    Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧
    2015-11-11
  • 深入了解Java File分隔符和Path分隔符的使用

    深入了解Java File分隔符和Path分隔符的使用

    不同的操作系统使用不同的字符作为文件和路径分隔符。当我们的应用程序需要在多个平台上运行时,我们需要正确处理这些问题。Java帮助我们选择一个合适的分隔符,本文就来聊聊Java中File分隔符和 Path分隔符的使用
    2022-07-07
  • 如何在IDEA中快速解决Jar冲突详解

    如何在IDEA中快速解决Jar冲突详解

    相信很多同学在过去做项目都遇到过Jar冲突的问题,在本地环境没问题,一旦部署到测试或生产环境突然就启动报错,报类似classNotFound的Exception,本文详细整理了如何在IDEA中快速解决Jar冲突,需要的朋友可以参考下
    2021-06-06
  • Java在PDF中添加表格过程详解

    Java在PDF中添加表格过程详解

    这篇文章主要介绍了Java在PDF中添加表格过程详解,本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等,需要的朋友可以参考下
    2019-07-07
  • springboot vue组件开发实现接口断言功能

    springboot vue组件开发实现接口断言功能

    这篇文章主要为大家介绍了springboot+vue组件开发实现接口断言功能,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java中Reactor的反应器模式详解

    Java中Reactor的反应器模式详解

    这篇文章主要介绍了Java中Reactor的反应器模式详解,Reactor反应器模式有点儿类似事件驱动模式,当有事件触发时,事件源会将事件dispatch分发到handler处理器进行事件处理,反应器模式中的反应器角色类似于事件驱动模式中的dispatcher事件分发器角色,需要的朋友可以参考下
    2023-12-12
  • spring boot 使用@Async实现异步调用方法

    spring boot 使用@Async实现异步调用方法

    本篇文章主要介绍了spring boot 使用@Async实现异步调用方法,具有一定的参考价值,有兴趣的可以了解一下。
    2017-04-04

最新评论