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...