我使用Navicat Lite8进行MYSQL数据库和表的建立,然后用JAVA进行数据的添加
当数据添加进入数据库后,英文和数字都可以显示,但是中文就会变成??
我感觉是字符集用的不对
在使用Navicat Lite8进行数据库的创建时,会有两个选项,分别是Character set和Collation
前者我试过了BIG5,gb2312,gbk,utf8,当选用utf8时,Collation的选项非常多,我就随便选了几种分别试了,但是都是不行,中文一直是显示??
而英文和数字都是正常
还有一点很奇怪,我直接用Navicat Lite8添加中文数据,select出来的中文就可以显示
请问下,这个问题如何解决,希望能讲的详细点,我是新手,最好别太深奥
数据库编码设置好了,插入方法也要相应的设置一下编码,不能插入的是乱码
数据的插入,我是直接在JAVA里做的,下面是相关代码
Java code:
String sql = "insert into guest values(?,?,?,?,?,?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, id);
ps.setString(2, fname.getText().trim());
ps.setString(3, faddress.getText().trim());
ps.setString(4, fkind.getText().trim());
ps.setString(5, ftrade.getText().trim());
ps.setString(6, fnumber.getText().trim());
ps.setString(7, femail.getText().trim());
ps.setString(8, fbusiness.getText().trim());
int r = ps.executeUpdate();
if(r > 0)
{
//弹出一个对话框