转载请注明原文地址: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应用项目中文乱码的解决的更多相关文章

  1. myeclipse导入项目中文乱码怎么解决教程

    大家在Myeclipse导入项目的时候,应该都遇见过一些乱码的问题,不单单只是Myeclipse有这个问题,那么怎么解决Myeclipse导入项目乱码的问题呢,问题出现的原因是什么呢,下面来看看答案. ...

  2. Javaweb项目中文乱码

    Javaweb项目中文乱码 一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat: ...

  3. 详解get请求和post请求参数中文乱码的解决办法

    首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...

  4. IDEA使用maven构建时控制台中文乱码的解决办法

    使用maven clean install 项目时控制台中文乱码,解决办法如下: Setting->maven->runner VMoptions: -Dfile.encoding=UTF ...

  5. Win 7英文系统显示中文乱码的解决(转)

    Win 7英文系统显示中文乱码的解决http://www.enet.com.cn/article/2011/0811/A20110811896633.shtml 请点击Startmenu并点击Cont ...

  6. php 使用phpmailer 发送邮件(附带中文乱码的解决方法)

    下载phpmailer ,在程序里包含class.phpmailer.php 类  ,这里有中文乱码的解决方法 实例代码如下 <html> <head> <title&g ...

  7. C#中WebClient使用DownloadString中文乱码的解决办法

    原文:C#中WebClient中文乱码的解决办法 第一次尝试: string question = textBox1.Text.ToString(); WebClient client= new We ...

  8. JSP的学习(4)——中文乱码的解决

    本篇将以JSP页面中可能存在的中文乱码问题进行分析和解决. 中文乱码的问题一直是国人在编程过程中的一大头疼问题,这点上在JSP.Servlet或Tomcat上随处可见.比如我们在写一个Servlet时 ...

  9. xShell终端中文乱码完全解决方法

    xShell终端中文乱码完全解决方法 xShell(xShell5)以及其他终端中文乱码的原因无非有三种:(1)Linux系统的编码问题:(2)xShell终端的编码问题: (3)两端的语言编码不一致 ...

随机推荐

  1. ps -ef | grep 查看进程命令

    通过 ps -ef | grep redis 查看当前Redis 的进程情况.

  2. HTML5 本地文件操作之FileSystemAPI整理(一)

    一.请求配额 DeprecatedStorageInfo对象 window.webkitStorageInfo:当使用持久存储模式时需要用到该对象的接口 方法: 1.requestQuota(type ...

  3. 再有人问你Java内存模型是什么,就把这篇文章发给他

    前几天,发了一篇文章,介绍了一下JVM内存结构.Java内存模型以及Java对象模型之间的区别.有很多小伙伴反馈希望可以深入的讲解下每个知识点.Java内存模型,是这三个知识点当中最晦涩难懂的一个,而 ...

  4. npm速度过慢的解决方案

    因为npm连接的数据源网站太慢,可以使用淘宝提供的npm数据源, npm config set registry https://registry.npm.taobao.org 使用NPM(Node. ...

  5. go语言之进阶篇WriteString的使用

    1.WriteString的使用 示例: package main import ( "fmt" "os" ) func WriteFile(path stri ...

  6. Android教材 | 第三章 Android界面事件处理(一)—— 杰瑞教育原创教材试读

      前  言 JRedu Android应用开发中,除了界面编程外,另一个重要的内容就是组件的事件处理.在Android系统中,存在多种界面事件,比如触摸事件.按键事件.点击事件等.在用户交互过程中, ...

  7. python实现itemCF and userCF

    http://my.oschina.net/zhangjiawen/blog/185625 1基于用户的协同过滤算法: 基于用户的协同过滤算法是推荐系统中最古老的的算法,可以说是这个算法的诞生标志了推 ...

  8. javascript——获取列表选择行的列值

    表格布局 方法 代码 $("#send").click(function(){ //获取选择的行号 n= $('input:radio[name="radio" ...

  9. php5.6 的interactive模式

    1. 发现运行php 的interactive shell 的时候,不能输入一行执行一行,而要 输入完一整段内容,再按  ctrl + d才能执行这段内容. 原因是,没安装 readline这个模块, ...

  10. JPA(五):映射关联关系------映射单向多对一的关联关系

    映射单向多对一的关联关系 新建Customer.java: package com.dx.jpa.singlemanytoone; import java.util.Date; import java ...