日期:2014-05-18  浏览次数:20769 次

mysql用utf-8,显示在jsp是中文,可是在MySQL Command Line Client看却是乱码.**加急**
如题,我用java向mysql中输入数据,用mysql工具看也不是乱码,但在客户端下看却是???????,这个怎么解决啊,
系统是windows.

公司最近做了个游戏是用c++做的,可是注册新用户要用java做的网站做.因为在
MySQL   Command   Line   Client下看到的是乱码,     所以用c++取出来的全是????,可是在java网页上却正常.    


不知道怎么解决.求解.............

------解决方案--------------------
str = new String(str.getBytes( "ISO8859_1 "));

试试。
------解决方案--------------------
楼上的说的没有用,我试过了的
------解决方案--------------------
但在客户端下看却是??????
这个客户端是什么啊?是JSP页面么?
------解决方案--------------------
这个可能跟很多设置有关系
我不知道你说的mysql工具指的是什么 但有几个设置是比较关键的
第一:mysql中环境变量是什么编码
第二:你用JAVA连接时指定的是什么编码
第三:你用客户端连接时用的是什么编码

请你说清楚问题
------解决方案--------------------
JSP页面显示正常,起码说明你数据库设置和JDBC连接上设置是正确的
而C/C++连MYSQL也上需要指定连接时的编码的
C API连接MYSQL时需要加上mysql_query( "SET NAMES BIG5 ");C++我不知道了
所以建议你从这个方向找问题
------解决方案--------------------
老兄,我可以问个菜鸟的问题吗?我的MYSQL是utf-8的,页面也是使用utf-8的,而且在连接数据库的时候也指明了使用utf-8,但从数据库中取出的某些(注意是某条记录)数据会出现乱码,如果出现此时的情况,看数据库中的记录也是乱码,如果修改,刷新页面正常显示,但下一次重新访问此页面又出现乱码,这是怎么回事呢?我被乱码搞死掉了!!!大虾,帮帮忙!!!
------解决方案--------------------
to coolyanglu916() :
你是通过什么方式修改的?
你的这条出问题的记录会被别的地方修改吗?
重新访问的过程只是读数据库吗?
如果删掉这条记录重新插入一条,还会有这样的问题吗?