站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题mysql中文输入乱码问题?

mysql中文输入乱码问题?

摘要: mysql中文输入乱码问题?


从mysql中读取中文的时候是好的 ,但是输入中文的时候都是都显示???.我的设置
mysString sConnStr = "jdbc:mysql://localhost:3306/sample_db?user=root&password=browser&useUnicode=true&characterEncoding=GBK";
原先是GB2312改了还是不可以的。是不是要添加编码转换的代码啊??


是的
乱码一种是页面级的,一种是与数据库有关的.
我有个类可以转换字符集
package db;
import java.util.*;
public class isoToGbk{
public static String ToGbk(String str){
try{
if (str!= null ) {
byte[] bt1 = str.getBytes("ISO8859_1");//用ISO8859_1进行编码
str = new String(bt1,"GBK");//用GBK进行解码,构建1个新的字符串
}else str = "";

}catch(Exception e){
e.printStackTrace();
}
return str;
}
}



我试过用getBytes进行编码的转换,可是在程序里我用的sql语句好象就编译有问题啊。
String qusetion_ID = request.getParameter("qusetion_ID");
String answer_ID = request.getParameter("answer_ID");
String answer_con = request.getParameter("answer_con");

%>

<% mysql.executeUpdate("Insert Into answer(qusetion_ID,answer_ID,vote_num,answer_con) VALUES (/""+qusetion_ID+"/",/""+answer_ID+"/",/""+0+"/",/""+answer_con+"/")");%>
我把answer_con用getBytes 做变换,好象sql语句就无法编译识别啊?


有的时候,添加“&useUnicode=true&characterEncoding=GBK”就会出问题,因为你的字符设置和数据库的有排斥。


那应该怎么办啊 ?我还是听人家改的


用"characterEncoding=unicode"试一下


试过了 还是不可以!可读取的时候一直是好的啊中文显示,就是输入中文的时候就变成只显示问号了。我数据库里的属性是char这个有问题不啊??


mark!

---------------------
代表城管来接分(怕了吧?)。
不给就抢,一天一次...


偶也遇到过同样的问题。
1)MySql数据库编码方式没改啊,默认好象是latin,在%MYSQL%/目录下一个叫*.ini的文件,修改里面的characterEncoding="gb2312"就可以了.然后再重新创建数据库和表.
2)或者在创建表时,Create子句后添加characterEncoding="gb2312"也是可以的.


请问楼上的具体是哪里的ini文件啊


mySQL安装目录下有一个叫my.ini


修改default-character-set=gb2312


修改了 谢谢!


↑返回目录
前一篇: 求助:这个问题太麻烦了,快来救救我!
后一篇: 请问有谁对事物比较熟悉?