乱码问题的整理 ps:补交昨天的作业
2016-05-12 19:41
267 查看
乱码问题困扰我了一个下午加一个晚上。。终于搞定。各方整理资料,以备以后遗忘!
1.jsp页面的编码设置 :主要是浏览器加载时候的编码。此外还应设置浏览器的编码方式。
2.发起request请求之后,数据传递的编码设置,一般在filter里面设置req及res。
3.tomcat服务器的 /conf/server.xml文档的 设置。
4.数据库mysql的安装目录文档内编码设置。
在mysql安装目录里找到my.ini文件,(ps:没有my.ini的,复制一份即可。)文档编辑器打开这个文件之后,添加如下代码:
保存后,进cmd命令窗口,重启数据库:net stop mysql <回车> net start mysql <回车>
进入数据库以后,利用命令------> SHOW VARIABLES LIKE "%CHAR%"; 查看编码方式
![](http://img.blog.csdn.net/20160512200722532?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5.mysql在创建database table时候,应该制定编码方式。
至此,你的汉字在cmd窗口也能正常显示了。虽然感觉自己写的好水,但还是有无穷的力量啊。谁让俺在快要进入而立之年的时候突然选择转行想要当一个程序员呢(码农。。)
路漫漫其修远兮,吾将上下而求索!!!此处应该有掌声。。
1.jsp页面的编码设置 :主要是浏览器加载时候的编码。此外还应设置浏览器的编码方式。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; utf-8">
2.发起request请求之后,数据传递的编码设置,一般在filter里面设置req及res。
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletResponse)response; req.setCharacterEncoding("utf-8"); res.setCharacterEncoding("utf-8"); if(req.getParameter("username")!=""){ chain.doFilter(req, res); } else { res.getWriter().println("用户名不能为空"); } }
3.tomcat服务器的 /conf/server.xml文档的 设置。
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>这里修改了这个server.xml文档,我当时用eclipse重启tomcat服务器后,该文档被重置了。后来发现,eclipse加载时候是会重写这个文档,秘密就在于eclipse工程 树栏目里面,有一个server文件夹,里面的server.xml必须要加同样的代码,即加一行URIEncoding = "UTF-8"即可。
4.数据库mysql的安装目录文档内编码设置。
在mysql安装目录里找到my.ini文件,(ps:没有my.ini的,复制一份即可。)文档编辑器打开这个文件之后,添加如下代码:
[client] default-character-set=utf8 [mysqld] default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci [mysqld] init_connect = 'SET NAMES utf8' character-set-server=utf8
保存后,进cmd命令窗口,重启数据库:net stop mysql <回车> net start mysql <回车>
进入数据库以后,利用命令------> SHOW VARIABLES LIKE "%CHAR%"; 查看编码方式
5.mysql在创建database table时候,应该制定编码方式。
至此,你的汉字在cmd窗口也能正常显示了。虽然感觉自己写的好水,但还是有无穷的力量啊。谁让俺在快要进入而立之年的时候突然选择转行想要当一个程序员呢(码农。。)
路漫漫其修远兮,吾将上下而求索!!!此处应该有掌声。。
相关文章推荐
- 关于要求一串数字不超过某个数字可以达到的最大和(DP背包问题)
- kafka入门
- 后缀数组---Musical Theme
- lintcode:背包问题
- android获取屏幕的宽高
- Partition-方案一. 通过 Export/import 方法
- 直接插入排序
- 学习OpenCV——Surf(特征点篇)&flann快速最近邻搜索算法
- 设计模式中的七个原则
- hdu-2489 Minimal Ratio Tree(DFS+最小生成树)
- html初探
- AndroidStudio--Terminal的使用
- Android控件HorizontalScrollView/listview去掉滚动条
- Android匹配Uri工具类UriMatcher
- EXTJS on事件
- 图片跟随鼠标移动(jquery)
- 加密
- 添加LogCat 至 eclipse --2
- Codeforces Round #352 (Div. 2)C. Recycling Bottles
- 【计算机视觉】OpenCV的最近邻开源库FLANN