萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Mysql數據庫的編碼轉換方法總結

Mysql數據庫的編碼轉換方法總結

數據庫編碼轉換這種問題我們碰到的比較少,但不是沒有昨天有一個朋友就希望把以前數據庫編碼轉換在uft-8了,下面我來給大家介紹兩個辦法。

方法一

MYSQL數據庫使用UTF-8編碼的問題

1.用phpmyadmin創建數據庫和數據表 創建數據庫的時候,請將“整理”設置為:“utf8_general_ci”或執行語句:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

創建數據表的時候:如果是該字段是存放中文的話,則需要將“整理”設置為:“utf8_general_ci”,如果該字段是存放英文或數字的話,默認就可以了。

相應的SQL語句,例如:

 代碼如下 復制代碼

CREATE TABLE `test` (  
`id` INT NOT NULL ,  
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,  
PRIMARY KEY ( `id` )  
) ENGINE = MYISAM ;

2.用PHP讀寫數據庫

在連接數據庫之後:

 代碼如下 復制代碼

$connection = mysql_connect($host_name, $host_user, $host_pass);

加入兩行:

 代碼如下 復制代碼

mysql_query("set character set 'utf8'");//讀庫  
mysql_query("set names 'utf8'");//寫庫

就可以正常的讀寫MYSQL數據庫了。


另一種辦法


步驟一 命令行執行:mysqldump --opt -hlocalhost -uroot -p*** --default-character-set=lantin1 dbname > /usr/local/dbname.sql

步驟二 將 dbname.sql文件中的create table語句的CHARSET=latin1改為CHARSET=utf8

步驟三 在dbname.sql文件中的insert語句之前加一條"set names utf8;"

步驟四 將dbname.sql轉碼為utf-8格式,建議使用UltraEditor,可以直接使用該編輯器的"轉換->ASCII到UTF-8(Unicode編輯)",或者將文件另存為UTF-8(無BOM)格式

步驟五 命令行執行:mysql -hlocalhost -uroot -p*** --default-character-set=utf8 new_dbname < /usr/local/dbname.sql

copyright © 萬盛學電腦網 all rights reserved