1、提交页面请求或者服务器端的响应时,需要确保页面编码当时与服务器编码方式是否一致。

2、对于从服务器写入数据库中的数据和从数据库中读取到服务器中的数据,需要确保服务器编码方式与数据库编码方式是否一致。

遇到乱码问题一般解决步骤,以UTF-8为例,

  • 首先浏览器编码方式是否为UTF-8(例如jsp页面本身是否设置pageEncoding="UTF-8",contentType="text/html; charset=UTF-8"是设置服务器发送给客户端时的内容编码,meta中的charset=utf8客户端的浏览器用utf-8字符集编码显示该页面,)
  • 紧接着看服务器本身编码是否为UTF-8(例如eclipse中server的编码是否为UTF-8)
  • 最后查看数据库编码方式是否为UTF-8(例如安装mysql时使用默认编码方式Latin1)

常见中文乱码现象以及解决方法:

1、背景:浏览器的页面使用的是UTF-8,服务器使用的编码方式是GBK,但是在web.xml中使用struts2中StrutsPrepareAndExecuteFilter过滤器,设置初始参数encoding为UTF-8

出现乱码的情况:对于从浏览器中传入服务器的请求,虽然服务器编码与浏览器编码方式不一样,但是不会出现乱码现象。但是,如果这是服务器的响应中包含中文字符,这是用的服务器默认的编码方式GBK,这时传到服务器时就会出现乱码现象。

解决方法:设置eclipse中的Servers的Properties中的TEXT file encoding为UTF-8.

2、背景:浏览器的页面使用的是UTF-8,服务器使用的编码方式是UTF-8,数据库使用MySQL默认安装

出现乱码的情况:存入中文数据时候,出现乱码

出现乱码原因:数据库使用mysql默认的Latin1,这时存入中文数据时候会出现乱码

解决方法:运行MySQL安装目录下bin目录中的MySQLInstanceConfig.exe,重新设置数据库的编码方式。

注:以上纯属个人项目中遇到的乱码问题经验总结,如有其他中文乱码问题,欢迎一起讨论。持续更新

JavaWeb中文乱码问题解决思路的更多相关文章

  1. Spring MVC3返回JSON数据中文乱码问题解决(转)

    Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...

  2. 180606-Linux下jdk中文乱码问题解决

    文章链接:https://liuyueyi.github.io/hexblog/2018/06/06/180606-Linux下jdk中文乱码问题解决/ linux下jdk中文乱码问题解决 之前遇到过 ...

  3. WingIDE中文乱码问题解决方法

    WingIDE中文乱码问题解决方法 安装完WingIDE后,首次运行python脚本时,若脚本中含有UTF-8中文,在Debug I/O输出框中,全部变成了乱码. 这时其实我们设置下WingIDE的编 ...

  4. ubuntu mysql emma中文乱码问题解决

    ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma ...

  5. Ubuntu下Eclipse中文乱码问题解决(转)

    Ubuntu下Eclipse中文乱码问题解决 把Windows下的工程导入到了Linux下Eclipse中,由于以前的工程代码,都是GBK编码的(Windows下的Eclipse 默认会去读取系统的编 ...

  6. 【转】asp.net Cookie值中文乱码问题解决方法

    来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqia ...

  7. soapUI参数中文乱码问题解决方法 (groovy脚本中文乱码)

    soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...

  8. oracle中文乱码问题解决

    中文乱码问题解决:1.查看服务器端编码select userenv('language') from dual;我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK2.执行语句 se ...

  9. 【其他】【navicat】【1】navicat导入txt文件中文乱码问题解决

    正文: TXT文件默认编码为ANSI,另存为编码为UTF-8的文本文件即可 备注: 1,一般需要导入的数据都是一张excel表,需要将excel表另存为“文本文件(制表符分隔)(*.txt)”保存类型 ...

随机推荐

  1. 【Spark】Spark的Standalone模式安装部署

    Spark执行模式 Spark 有非常多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则执行在集群中,眼下能非常好的执行在 Yarn和 Mesos 中.当然 Spark 还有自带的 St ...

  2. winform最小化及关闭提示

    public PrintService() { InitializeComponent(); this.WindowState = FormWindowState.Minimized; } priva ...

  3. EF(EntityFramework) Migrations 迁移

    1.开启程序包管理器控制台 2.安装EntityFramework PM> Install-Package EntityFramework   3.启用迁移 PM> Enable-Migr ...

  4. C++使用ADO存取图片

     在项目中.我们须要把事故简图上传到总server.以便每一个client都能下载或者查看.在网上找了找,向Server2000存储图片代码比較多,从数据库中读取图片并显示也不少,可是把图片从数据 ...

  5. 蓝牙(CoreBluetooth)-中心设备(客户端)

    蓝牙(CoreBluetooth)-中心设备(客户端) 蓝牙客户端-中心设备 主要内容 1. 创建`中央管理器` 2. 发现并且连接外设 3. 寻找连接上的外设数据 4. 发送读或写`特征值`的请求 ...

  6. 0057 Spring MVC如何获取HTTP请求头信息--URL中的动态参数--@RequestHeader--@CookieValue--@PathVariable

    获取HTTP请求头信息 一个HTTP请求除了有参数和实体内容外还有HTTP请求头信息,Spring MVC也可以获取这部分信息 @RequestHeader解可以将请求头信息映射到处理方法的形参上 @ ...

  7. 创建一个很大的EMP表 EMP_LARGE

    --CREATE TABLE EMP_LARGE AS SELECT * FROM EMP ; ---先复制一张EMP表 DECLARE --声明变量 v_loop NUMBER; v_num NUM ...

  8. js测试

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Effective Java学习笔记--创建和销毁对象

    创建和销毁对象 一.静态工厂方法代替构造器 静态工厂方法的优缺点 优点: 1.可以自定义名称(可以将功能表述的更加清晰) 2.不必每次调用都创建新的对象(同一对象重复使用) 3.返回的类型可以是原返回 ...

  10. python笔记9 : 多线程

    基础: 什么是进程(process)? 每一个程序的内存是独立的,例如:world不能访问QQ. 进程:QQ是以一个整体的形式暴露给操作系统管理,里面包含了各种资源的调用(内存管理.网络接口调用等). ...