也是乱码问题,头疼啊,请教各位! 1、先set names 'utf-8'后inser into 2、没遇到过,你可以试一下用第一个问题的方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用的数据库编码和写JSP页面都是用UTF-8!你用如下命令检查一下:mysql> show variables like "%char%";+--------------------------+-------------------------------------------------------+| Variable_name | Value |+--------------------------+-------------------------------------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8 || character_set_results | utf8 || character_set_server | utf8 || character_set_system | utf8 || character_sets_dir | C:\Program Files\MySQL\MySQL Server 4.1\share\chaets/ |+--------------------------+-------------------------------------------------------+7 rows in set (0.00 sec)mysql> show variables like "%colla%";+----------------------+-----------------+| Variable_name | Value |+----------------------+-----------------+| collation_connection | utf8_general_ci || collation_database | utf8_general_ci || collation_server | utf8_general_ci |+----------------------+-----------------+3 rows in set (0.00 sec)我的设置就如上面所示,我在mysql query browser下,一切正常.如果你的不是,修改一下的my.ini文件的default charset我从页面取下数据,一般经过如下操作,写入数据库就不会出现乱码.String CityName=new String(request.getParameter("CityName").getBytes("ISO-8859-1"),"utf8");..........................String str="Insert into Cities(CityName) values(?)";PreparedStatement stmt = con.prepareStatement(str);stmt.setBytes(1,CityName.getBytes("utf8"));........................ hy2003fly(),谢谢,我的设置和你的一模一样,但我对数据库的操作都是用的别人已经写好了的bean ,我没有源文件,所以这种办法对我来说不可行啊。有没有别的办法啊?谢谢! 你有没有bean的源文件?有的话,先备份一份,然后按照我所说的去修改一下,看看行不行? 不好意思,刚才没有看清楚!你没有源文件的话,就自己写一个转换的类吧.到web->jsp那里找一下(就是"数据库开发"下的),我看过有高手在那里贴过类似的代码. to hy2003fly():目前我的程序量太大了,我想通过不修改程序的办法来解决,否则要改的地方太多了。谢谢!今天试了一下过滤器,用了过滤器后,向数据库中插入“我们”,在数据库中显示“鎴戜滑”,而从页面读出来是两个问号,即“??”,没有加过滤器之前,数据库中“我们”是这样一串“忙聢聭盲禄卢”,但页面上显示是正常的。请教各位在用过滤器时有没有出现这种情况?怎么解决?谢谢! 1、数据库中只要是中文的,就全部都是乱码,但从页面读出来是正常的;从页面中写中文,数据库中是乱码,但从页面读出来是正常的; utf8编码一个字符3-4个字节(mysql中现在3个),你的客户端不支持utf8,所以看起来是乱码2、直接在MYSQL Command Client中写insert语句,插入的中文显示正常,但读到页面是乱码。 如果你的操作系统是中文版的windows,进入mysql后首先执行命令:set names gbk; 然后插入中文,应该就可以在页面是正常的了 我也遇到了同样的问题。初步怀疑是jdbc这一层帮我转码了强烈关注! 怪了,我写到数据库的的中文数据全是UNICODE的编码。页面上设置的CHARSET是utf-8,MYSQL设置的字符集也是utf-8.怎么来正常显示中文呢? 我的解决了。其实也不算是解决。只是换了一个mysql的客户端工具--phpMyAdmin从原来的2.4升级到2.6。它多了“connection collation”这样一个选项楼主可以试试 我的刚好有LZ相反,数据库中为中文的JSP显示正确(用mysql工具直接写入),通过网页传入数据库的数据为乱码,也显示为乱码。我的JSP服务器为LINUX,感觉可能和你的JSP服务器操作系统有关,建议换个试试! 求助一个分区问题 IN和INNER JOIN的差别 frm文件导入mysql 慢查询的一个奇怪问题 求教mysql5.0.18-win32安装版下如何进入mysql的交互操作界面mysql>?实在不会了 怎样批量导入数据?? MySql中有没有存储过程,触发器,视图这些东东啊,在线等候 安装mysql-4.0.13-win后如何设置有效的用户和密码? 求救:关于自动增加的id会产生断截 mysql远程连接问题! winmysqladmin.exe跑哪去了! 如何编写mysql的分页sql?
mysql> show variables like "%char%";
+--------------------------+--------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+--------------------------------------------------
-----+
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | utf8
|
| character_set_results | utf8
|
| character_set_server | utf8
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 4.1\share\cha
ets/ |
+--------------------------+--------------------------------------------------
-----+
7 rows in set (0.00 sec)mysql> show variables like "%colla%";
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)我的设置就如上面所示,我在mysql query browser下,一切正常.
如果你的不是,修改一下的my.ini文件的default charset
我从页面取下数据,一般经过如下操作,写入数据库就不会出现乱码.String CityName=new String(request.getParameter("CityName").getBytes("ISO-8859-1"),"utf8");
..........................
String str="Insert into Cities(CityName) values(?)";
PreparedStatement stmt = con.prepareStatement(str);
stmt.setBytes(1,CityName.getBytes("utf8"));
........................
今天试了一下过滤器,用了过滤器后,向数据库中插入“我们”,在数据库中显示“鎴戜滑”,而从页面读出来是两个问号,即“??”,没有加过滤器之前,数据库中“我们”是这样一串“忙聢聭盲禄卢”,但页面上显示是正常的。请教各位在用过滤器时有没有出现这种情况?怎么解决?谢谢!
utf8编码一个字符3-4个字节(mysql中现在3个),你的客户端不支持utf8,所以看起来是乱码2、直接在MYSQL Command Client中写insert语句,插入的中文显示正常,但读到页面是乱码。 如果你的操作系统是中文版的windows,进入mysql后首先执行命令:set names gbk;
然后插入中文,应该就可以在页面是正常的了
怎么来正常显示中文呢?
其实也不算是解决。只是换了一个mysql的客户端工具--phpMyAdmin从原来的2.4升级到2.6。
它多了“connection collation”这样一个选项楼主可以试试
我的JSP服务器为LINUX,感觉可能和你的JSP服务器操作系统有关,建议换个试试!