Mysql中存取以及显示中文字符的问题
来源:互联网 发布:最大熵模型 python 编辑:程序博客网 时间:2024/06/07 12:29
本人菜鸟一只,今天弄了一个下午这个中文字符问题,在学SSH 的时候,进行的一般小测试都是输入英文字母,所以也没发现这么大问题,但是今天在jsp页面中输入中文的时候,发现就不对了。。。
通过一部分一部分的测试,发现从jsp页面中读取的字符显示是中文,可是在Mysql中存的时候就变乱码了。
以前对于这些不同页面的字符设置都没有在意,今天算是了解了一点,首先从前台传入,在经过struts和hibernate的操作,最后进入mysql,这一系列过程中都有可能出现问题,要在这其中一步步显示内容才能了解到问题到底出在哪里。我的问题是在存入mysql的时候。
在网上查了好多资料,虽然很多,但是五花八门的,很杂。
最后尝试了各种方法后,我觉得就是要让jsp,struts,hibernate,mysql中的表字符类型都要保持一致,这里我用的是utf-8
在jsp中设置<%@ page language="java" contentType="text/html; charset=UTF-8"%>
在struts.xml中设置<constant name="struts.i18n.encoding" value="UTF-8"></constant>
在连接Mysql设置jdbc.url=jdbc:mysql://localhost:3306/spring?characterEncoding=UTF-8
在建表的时候设置也是utf8
理论上来说,这样应该就可以实现中文字符的显示和存储了!
但是由于我的mysql没有安装图形界面的软件,所以在那个dos窗口中看到的内容还是"???"。。。就是这个原因让我觉得自己一直都做的不对,都有摔键盘的冲动了。。。
最后在安装了一个mysql_front 后,在里面我看到了中文!!!这说明我前面的配置都是正确的,只是在dos窗口中无法显示中文而已。
接下来又去网上查了查,对mysql的各种字符设置的地方了解了一点。
安装好后的mysql,所以默认设置都是latin1,要想建存中文的表,要输入: set character_set_database = utf8;
要想在其中看到中文,要输入:
set character_set_client = utf8;
set character_set_connection = utf8;
set character_set_results = utf8;
这样中文也就可以显示出来了。
搞了一下午,虽然做了很多”无用功”,但是还是了解到了很多,收获挺大。正所谓程序员就是在错误中慢慢成长的嘛。。
- Mysql中存取以及显示中文字符的问题
- mysql不能插入中文字符以及中文显示乱码问题
- C#网络通信中中文字符的传送以及SQL数据库存取中文的解决方法
- mysql中插入和显示中文字符问题
- MySQL与php网页中显示的中文字符不一致问题
- 简单记录python存取中文字符的小问题
- 5.6java中显示中文字符乱码的问题
- mysql中文字符的问题
- MySQL中文字符显示
- Mysql中文字符显示
- 如何在mysql中存取utf8mb4编码的字符
- 【MySql】MySql数据库中插入中文字符,显示乱码解决办法
- 如何解决wampsever 中mysql无法显示中文的问题
- VC读取mysql数据库中文字符的时候全部显示问号问题的处理
- centos中mysql无法显示中文问题
- mysql中文字符的乱码问题
- python mysql 中文字符显示
- 中文字符的显示
- Spring集成xfire 启动tomcat报错
- 回车 换行 0x0D 0x0A CR LF \r \n的来龙去脉
- 有关读书求知的一些想法
- HTTP权威指南(国内首本HTTP及其相关核心Web技术权威著作)
- [Android实例] ViewPager多页面滑动切换以及动画效果
- Mysql中存取以及显示中文字符的问题
- 项目编译时中文乱码解决
- 计算机术语中关于 Assert 和De-assert 词汇意思
- POJ 1002(字符串处理)
- git 忽略跟踪工程文件
- 有关指针
- myeclipse优化
- void assert (int expression)
- HDU 2999 Stone Game, Why are you always there? (构造 SG函数)