JavaWeb应用项目中文乱码的解决
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6383542.html
在把web项目成功部署到云主机后,通过浏览器成功地访问到了你的网站,却发现页面里本该由servlet传过来的中文参数值显示成了 ??? 乱码。这是什么原因呢?
这可能是由于你的web项目所在系统的字符编码、tomcat的字符编码、开发项目时myeclipse的字符编码以及建立数据库时的编码不一致造成的,解决方法就是逐一设置。
一:myeclipse设置项目编码
点击windows,Preference,点击左侧General,workspace。设置编码为UFT8。

二:项目中设置过滤器,设置request和response传递的参数为UTF8编码。

别忘了在web.xml中配置这个filter哦。
三:为云ubuntu设置中文编码
首先,安装简体中文环境
sudo apt-get install language-selector language-env language-pack-zh-hans
然后,更新locale
dpkg-reconfigure locales
编辑本地locale文件。注意,要先获取root权限:
sudo passwd root
输入密码后,解开启了root权限。然后输入
su
输入刚才的密码,进入root权限。为locale文件赋予777权限:
chmod /etc/default/locale
然后,编辑该文件:
sudo vi /etc/default/locale
按I进入编辑模式,移动光标到最下,在末尾添加
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
按Esc退出编辑模式,输入 :wq 保存并退出文档。
然后重启你的云主机ubuntu,使配置生效。若你打开shell窗口就会发现有中文了,说明配置成功。
四:配置mysql字符编码
1:修改mysql配置文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
找到 [mysqld] 节点,在其下面追加
character-set-server=utf8
collation-server=utf8_general_ci
重启mysql,使配置生效
/etc/init.d/mysql restart
2:设置所用数据库字符编码
mysql> alter database 你的数据库名 character set utf8;
当然,你也可以进入所使用的数据库,一项项设置:
mysql>use 数据库名;
mysql> SET character_set_client=utf8;
mysql> SET character_set_connection = utf8;
mysql> SET character_set_database = utf8;
mysql> SET character_set_results = utf8;
mysql> SET character_set_server = utf8;
mysql> SET collation_connection = utf8;
mysql> SET collation_database = utf8;
mysql> SET collation_server = utf8;
五:配置tomcat编码
用 su 命令登录root权限,cd到tomcat的conf目录下。然后为server.xml文件赋予777权限。
chmod server.xml
打开server.xml:
vi server.xml
按I进入编辑模式,找到<Connector >结点,添加 URIEncoding="UTF-8"、useBodyEncodingForURI="true" 两行,如下图:

在下面,还有一处<Connector >,添加 URIEncoding="UTF-8",如下图:

按Esc退出编辑模式,输入 :wq 保存并退出。
重启tomcat使配置生效。
经过以上5步,基本上统一了项目涉及的所有关于编码的地方,中文参数值乱码的问题就解决啦~
JavaWeb应用项目中文乱码的解决的更多相关文章
- myeclipse导入项目中文乱码怎么解决教程
大家在Myeclipse导入项目的时候,应该都遇见过一些乱码的问题,不单单只是Myeclipse有这个问题,那么怎么解决Myeclipse导入项目乱码的问题呢,问题出现的原因是什么呢,下面来看看答案. ...
- Javaweb项目中文乱码
Javaweb项目中文乱码 一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat: ...
- 详解get请求和post请求参数中文乱码的解决办法
首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...
- IDEA使用maven构建时控制台中文乱码的解决办法
使用maven clean install 项目时控制台中文乱码,解决办法如下: Setting->maven->runner VMoptions: -Dfile.encoding=UTF ...
- Win 7英文系统显示中文乱码的解决(转)
Win 7英文系统显示中文乱码的解决http://www.enet.com.cn/article/2011/0811/A20110811896633.shtml 请点击Startmenu并点击Cont ...
- php 使用phpmailer 发送邮件(附带中文乱码的解决方法)
下载phpmailer ,在程序里包含class.phpmailer.php 类 ,这里有中文乱码的解决方法 实例代码如下 <html> <head> <title&g ...
- C#中WebClient使用DownloadString中文乱码的解决办法
原文:C#中WebClient中文乱码的解决办法 第一次尝试: string question = textBox1.Text.ToString(); WebClient client= new We ...
- JSP的学习(4)——中文乱码的解决
本篇将以JSP页面中可能存在的中文乱码问题进行分析和解决. 中文乱码的问题一直是国人在编程过程中的一大头疼问题,这点上在JSP.Servlet或Tomcat上随处可见.比如我们在写一个Servlet时 ...
- xShell终端中文乱码完全解决方法
xShell终端中文乱码完全解决方法 xShell(xShell5)以及其他终端中文乱码的原因无非有三种:(1)Linux系统的编码问题:(2)xShell终端的编码问题: (3)两端的语言编码不一致 ...
随机推荐
- Linux终端执行shell脚本,提示权限不够的解决办法
原文:http://blog.csdn.net/this_capslock/article/details/17415409 今天在Linux尝试搭建dynamips的工作环境,在执行shell脚本时 ...
- mysql中的日期转换函数(类似oracle中的to_date)
最近使用mysql开发一个项目,发现没有像之前在用oracle数据中那样有to_date方法.mysql中实现日期格式化的方法为date_to_str('日期字符串','日期格式'),而且mysql中 ...
- windows下apk查看工具的原理
游戏出了版本之后,提供给渠道,有部分渠道会修改包名(当他们内部系统做出调整后,可能会改包名),这个时候我又需要知道包名.之前没办法,试图反编译apk,发现失败了.然后就安装apk到手机上,手机上再下载 ...
- ExtJS 4.2 教程-05:客户端代理(proxy)
转载自起飞网,原文地址:http://www.qeefee.com/extjs-course-5-client-proxy ExtJS 4.2 教程-01:Hello ExtJS ExtJS 4.2 ...
- fabric工具
./cryptogen generate --output="a" --config=crypto-config.yaml # Copyright IBM Corp. All Ri ...
- webpack打包器简单入门
概念 webpack是一个现代javascript应用程序的模块打包器. 当webpack处理你的应用程序时,它会递归构建一个依赖图(包含了你的应用程序所需要每个模块),然后把这些模块打包到少数几个b ...
- vNetwork Standard Switch(vSS)和vNetwork Distributed Switch(vDS)的区别
vSS: vSwitches are configured on each ESXi/ESX host. vDS: The configuration of vDS is centralized to ...
- 探索Javascript异步编程
异步编程带来的问题在客户端Javascript中并不明显,但随着服务器端Javascript越来越广的被使用,大量的异步IO操作使得该问题变得明显.许多不同的方法都可以解决这个问题,本文讨论了一些方法 ...
- 让App中增加LruCache缓存,轻松解决图片过多造成的OOM
上次有过电话面试中问到Android中的缓存策略,当时模糊不清的回答,如今好好理一下吧. Android中普通情况下採取的缓存策略是使用二级缓存.即内存缓存+硬盘缓存->LruCache+Dis ...
- 【转载】JAVA-dynamic web module与tomcat
大致因为java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要喝对应的服务器搭配好了才能 ...