JavaWeb中文乱码问题解决思路
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中文乱码问题解决思路的更多相关文章
- Spring MVC3返回JSON数据中文乱码问题解决(转)
Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...
- 180606-Linux下jdk中文乱码问题解决
文章链接:https://liuyueyi.github.io/hexblog/2018/06/06/180606-Linux下jdk中文乱码问题解决/ linux下jdk中文乱码问题解决 之前遇到过 ...
- WingIDE中文乱码问题解决方法
WingIDE中文乱码问题解决方法 安装完WingIDE后,首次运行python脚本时,若脚本中含有UTF-8中文,在Debug I/O输出框中,全部变成了乱码. 这时其实我们设置下WingIDE的编 ...
- ubuntu mysql emma中文乱码问题解决
ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma ...
- Ubuntu下Eclipse中文乱码问题解决(转)
Ubuntu下Eclipse中文乱码问题解决 把Windows下的工程导入到了Linux下Eclipse中,由于以前的工程代码,都是GBK编码的(Windows下的Eclipse 默认会去读取系统的编 ...
- 【转】asp.net Cookie值中文乱码问题解决方法
来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqia ...
- soapUI参数中文乱码问题解决方法 (groovy脚本中文乱码)
soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...
- oracle中文乱码问题解决
中文乱码问题解决:1.查看服务器端编码select userenv('language') from dual;我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK2.执行语句 se ...
- 【其他】【navicat】【1】navicat导入txt文件中文乱码问题解决
正文: TXT文件默认编码为ANSI,另存为编码为UTF-8的文本文件即可 备注: 1,一般需要导入的数据都是一张excel表,需要将excel表另存为“文本文件(制表符分隔)(*.txt)”保存类型 ...
随机推荐
- Nutch的发展历程(转)
2002年8月由Doug Cutting发起,托管于Sourceforge,之后发布了0.4.0.5.0.6三个版本 2004年9月Oregon State University(俄勒冈州立大学)采用 ...
- 自定义 XIB subview的时候 为什么控件都是 空的
http://blog.wtlucky.com/blog/2014/08/10/nested-xib-views/
- atitit. 分销系统规划p8k
atitit. 分销系统规划p8k 1. 商户平台管理 overview2 1.1. 分销业务管理2 1.2. 文案管理2 1.3. 订单管理3 1.4. 统计报表3 1.5. 财务结算3 1.6. ...
- IOS使用Charts
近期项目中要做图表功能,为了降低开发量採用的是H5+ECharts来做.这里说一下IOS中怎样使用ECharts以及遇到的问题. 网络模块化单文件引入 <!DOCTYPE html> &l ...
- C/C++ 错误笔记-解决swap函数与标准库的std::swap函数冲突的问题
下午写了一份代码: #include <iostream> using namespace std; // 模板1:交换基本类型的值 template<typename T> ...
- linux下时间操作1
本文是对我之前写的文章:C++时间操作 的更深入补充.之前那个文章就是一个快速入门的东西,后面力图把一些更深入的细节补充完整. 时间分类的基本介绍 在介绍一些时间相关的操作函数之前,先来介绍一下lin ...
- make命令用法--转
转自:http://www.techug.com/make 代码变成可执行文件,叫做编译(compile):先编译这个,还是先编译那个(即编译的安排),叫做构建(build). Make是最常用的构建 ...
- [转]C++11 标准新特性:Defaulted 和 Deleted 函数
http://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/
- typedef可以成为你的朋友
typedef static char int8;这个声明正确吗? A:err 所以上面那个声明是错误的. typedef为一种类型引入新的名字,而不是为变量分配空间,它并没有引入新的类型,而是为现有 ...
- deepin linux 下C开发环境配置
# deepin linux 下C开发环境配置 ## 前言-----------------------------deepin操作系统商店默认提供了 eclipse for c\c++但是系统没有提 ...