java連線mysql資料庫時有關中文亂碼的問題

2021-05-01 07:46:40 字數 1601 閱讀 5685

解決方法一:(最重要的一種方法)

你看下my.ini,有無

[mysql]

default-character-set=utf8

[client]

default-character-set=utf8

[mysqld]

default-character-set=utf8

然後建立表時,也要用(比如)

drop   table   if   exists   `company`;

create   table   if   not   exists   `company`

( `cname`   varchar(10)   not   null,

`caddr`   varchar(100),

`ctel`     varchar(16)

)engine=innodb   default   charset=utf8;

這樣就沒問題。

如果是jsp要宣告:

contenttype="text/html;charset=gb2312"

解決方法二:

連線mysql時(無論在從mysql讀還是取資料的情況),指定使用的編碼方式為utf-8,具體**如下

//裝載mysql-jdbc驅動

class.forname("com.mysql.jdbc.driver").newinstance();

//連線資料庫

connection sqlcon = drivermanager.getconnection( "jdbc:mysql://localhost:3306/test?                         user=root&password=1&useunicode=true&characterencoding=utf-8" );

解決方法三:

如果方法一不行那麼在方法一的基礎上對讀入的字串進行強制編碼方式轉換。

**示例如下:

string name = rst.getstring("name");

name= new string(name.getbytes("iso-8859-1"),"utf-8");

注:**也可以為:string name =new string( rst.getstring("name").getbytes("iso-8859-1"),"utf-8"));其中rst為返回的 resultset,iso-8859-1為mysql預設的編碼方式,**的目的是把以iso-8859-1的編碼轉換為gb2312編碼方式,這樣強 制轉換,可以解決一部分問題,如果結合方法一,應該可以解決中文亂碼問題。

解決方法四:

"如果資料庫中有中文的話而mysql預設的語言不是中文時要在配置檔案c:winntmy.ini 中的 [mysqld] 裡新增一行:

default-character-set=utf-8

然後重起mysql

方法五:在tomcat conf  裡面的web.xml裡面更改:

utfencoding  

com.founder.chenph.util.encodingfilter_utf8  

encoding  

utf-8  

Java連線MySQL資料庫

廢話不多說,直接上 記得在用eclipse建立專案後,要匯入jdbc。首先建立乙個databaseconnection類,用來連線資料庫。public class databaseconnection catch exception e public connection getconnectin ...

JAVA實現mysql資料庫連線

實現資料庫連線 功能 獲取乙個資料庫的連線,public static connection getconnection catch classnotfoundexception e catch sqlexception e return conn 注意 public static void mai...

java 連線到遠端mysql資料庫

首先載入mm.mysql2.0.4 bin.jar驅動,並把其加入classpath,注意一定要開啟遠端mysql的你的主機的訪問許可權 然後編寫如下 string name gjt.mm.mysql.driver 載入jdbc driver string url jdbc mysql 172.20...