当我执行以下代码时,数据库中插入的内容是乱码。
以下是我的代码
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class Db { public static void main(String[] args){
try {
Class.forName("org.gjt.mm.mysql.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase","root","123456");
Statement st=con.createStatement();
int a=st.executeUpdate("INSERT INTO `t_testcode` (`t_content`)VALUES ( '如果一場比賽延期或中斷');");
System.out.println(a);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }}
以下是我的代码
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class Db { public static void main(String[] args){
try {
Class.forName("org.gjt.mm.mysql.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase","root","123456");
Statement st=con.createStatement();
int a=st.executeUpdate("INSERT INTO `t_testcode` (`t_content`)VALUES ( '如果一場比賽延期或中斷');");
System.out.println(a);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }}
这里改成以下:
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8","root","123456");这里制定编码格式,尝试一下
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8","root","123456");
改成:
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydatabase?useUnicode=true&characterEncoding=gbk","root","123456");
因为我的MyEclipse默认的编码是gbk.
但是还是失败了。
无论是读出数据,还是写入数据,只要是中文就乱码。
将一个表的字符集该为utf8.
如果不可以,改为其他字符集试试
2.ALTER TABLE `user` CHANGE `username` `username` VARCHAR( 45 ) CHARACTER SET utf8 NOT NULL ;
将一个表的某个字段的字符集该为utf8