mysql編碼問題

2021-07-02 20:34:24 字數 1836 閱讀 3165

mysql的預設編碼是latin1,不支援中文,要支援中文需要把資料庫的預設編碼修改為gbk或者utf8。

1、檢視編碼以root 方式登入 在mysql下檢視編碼的方式為

其中:

character_set_client              客戶端編碼方式;

character_set_connection     為建立連線使用的編碼;

character_set_database        資料庫的編碼;

character_set_results            結果集的編碼;

character_set_server             資料庫伺服器的編碼;

只要保證以上編碼統一為utf8 或者gbk,就不會出現亂碼問題。

2、修改資料庫編碼

1)、建立資料庫指定資料庫的字符集

mysql> create database mydb character set gbk;#直接指定其編碼

2)、直接通過命令進行修改

set character_set_client=gbk;

set character_set_connection=gbk;

set character_set_database=gbk;

set character_set_results=gbk;

set character_set_server=gbk;

3)、linux系統下,修改mysql資料庫預設編碼的步驟為:

停止mysql的執行

mysql主配置檔案為my.cnf

當我們需要修改mysql資料庫的預設編碼時,需要編輯my.cnf檔案進行編碼修改,在linux下修改mysql的配置檔案my.cnf,檔案位置                預設/etc/my.cnf檔案新增default-character-set=gbk

重啟資料庫

4)、 執行指令碼:指定編碼格式set names gbk(注意,不是utf-8)可以修改

從執行命令前後可知,

set names 'gbk';

它相當於下面的三句指令:

set character_set_client =gbk;

set character_set_results = gbk;

set character_set_connection = gbk;

並且這種修改是視窗級別的,只針對本視窗有效,開啟另外乙個視窗修改無效。也可發現資料庫底層的編碼方式沒有改變,插入資料後還是以原來的編碼方式保持。

5)、修改資料庫或表的語句:

1. 建立資料庫

mysql> create database name character set gbk;

2. 建立表

create table `test` (

`id` int(10) unsigned not null auto_increment,

primary key (`id`)

) default charset=gbk;

3. 修改資料庫成utf8的.

mysql> alter database name character set gbk;

4. 修改表預設用utf8.

mysql> alter table type character set gbk;

5. 修改欄位用utf8

mysql> alter table type modify type_name varchar(50) character set gbk;

mysql中的編碼問題 mysql編碼問題總結

網上查了一些mysql編碼相關的資料,在這裡整理下,不對的地方歡迎各位批評指正。character set server 預設的內部操作字符集 character set connection 連線層字符集 character set results 查詢結果字符集 character set da...

mysql編碼問題

首先設定mysql的編碼為utf8 在linux下修改 個my.cnf的 個 etc mysql my.cnf檔案 找到客戶端配置 client 在下面新增 default character set utf8 預設字符集為utf8 在找到 mysqld 新增 default character s...

mysql 編碼問題

1.資料庫 2.php檔案 3.頁面 mysql query set names utf8 utf8與utf 8 全部用gb2312 1.php檔案可用dw修改 頁面屬性來改變成改變成gb2312 2.必須使用set name utf8是屬於mysql資料庫的 utf 8是屬於頁面的 全部用utf8...