今天在写一个小的网站作业,用jsp,在ubuntu 8.10中向mysql插入数据,插入英文和数字都可以,但中文就不行。我是把jsp中文的那些全用上了,不管用,试着用 mysql query browser (一个mysql的GUI工具)在这里插入中文数据,结果就报了incorrect string value .....这个错,我明白原来是mysql的原因。然后就用baidu,用google搜,最后终于解决了,现分享经验如下:
首先停止mysql服务:sudo /etc/init.d/mysql stop
然后编辑mysql配置文件:sudo gedit /etc/mysql/my.cnf
在my.cnf文件中的[client]段下面加入
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
重新启动mysql服务,
sudo /etc/init.d/mysql start
进入mysql的命令提示符下输入如下指令:
mysql>show variables like '%char%';
如果出现的列表各项内容和以下相同表明配置成功了,
+----------------------+---------------------
| Variable_name | Value
+-----------------------+---------------------
| character_set_client | utf8
| character_set_connection | utf8
| character_set_database | utf8
| character_set_filesystem | binary
| character_set_results | utf8
| character_set_server | utf8
| character_set_system | utf8
| character_sets_dir | /usr/share/mysql/charsets/
然后把原来的数据库删了,再新建(我就是这样做的,不这样做还是会出错)
现在中文数据能够插入了
成功
本文介绍了一种在Ubuntu 8.10环境下使用JSP向MySQL数据库插入中文数据时遇到的问题及解决方案。通过修改MySQL配置文件并设置字符集为UTF-8,成功解决了中文乱码问题。
363

被折叠的 条评论
为什么被折叠?



