Mysql字元集的問題

來源:互聯網
上載者:User

修改及查看mysql資料庫的字元集
 修改my.cnf
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8

5.查看字元集設定
mysql> show variables like 'collation_%';
mysql> show variables like 'character_set_%';

修改資料庫的字元集
    mysql>use mydb
    mysql>alter database mydb character set utf-8;
建立資料庫指定資料庫的字元集
    mysql>create database mydb character set utf-8;

通過設定檔修改:
修改/var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-collation=latin1_swedish_ci

default-character-set=utf8
default-collation=utf8_general_ci
通過MySQL命令列修改:
mysql> set character_set_client=utf8;

mysql> set character_set_connection=utf8;

mysql> set character_set_database=utf8;

mysql> set character_set_results=utf8;

mysql> set character_set_server=utf8;

mysql> set character_set_system=utf8;

mysql> set collation_connection=utf8;

mysql> set collation_database=utf8;

mysql> set collation_server=utf8;

查看:
mysql> show variables like 'character_set_%';

mysql> show variables like 'collation_%';

通常,查看系統的字元集和排序方式的設定可以通過下面的兩條命令:
mysql> SHOW VARIABLES LIKE 'character%';

mysql> SHOW VARIABLES LIKE 'collation_%';
mysql命令列修改字元編碼
1、修改資料庫字元編碼

mysql> alter database mydb character set utf8 ;

2、建立資料庫時,指定資料庫的字元編碼

mysql> create database mydb character set utf8 ;

3、查看mysql資料庫的字元編碼

mysql> show variables like 'character%'; //查詢當前mysql資料庫的所有屬性的字元編碼

+--------------------------+----------------------------+
| Variable_name            | Value                      |

MySQL用Load Data local infile 匯入部分資料後中文亂碼
今天在兩台MySQL伺服器之間導資料,因為另一個MySQL伺服器是測試用的,差一個月的資料,從現有MySQL伺服器select到一個檔案,具體語句是:

select * from news where ine_time>='2010-02-01'  and ine_time <'2010-03-01' into outfile '/tmp/newsdata.sql';然後scp到另一個MySQL Server上匯入到對應的表中,具體語句如下:

load data local infile '/home/lsanotes/newsdata.sql'  into table news;然後重新整理訪問這台資料庫的web頁面,發現剛導進來的這一個月的資料都是亂碼,而以前其它月份的則正常,用show create table news;查看發現兩個伺服器中的news表都是utf8,奇怪,把匯出的資料轉換成utf8,再匯入問題仍舊。
後來在資料庫中查看剛剛導進的這一個月的資料時,沒有執行set names utf8;就可以正常查看中文而不亂碼,而其它月份的必須先執行set names utf8;才能看中文而不亂碼,但是當我執行過set names utf8;後再看剛剛導進的這一個月的資料卻是亂碼,看來導進來的資料並不是utf8格式。最後的解決方案是:

load data local infile '/home/lsanotes/newsdata.sql'  into table news character set utf8;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.