檢視修改mysql編碼方式

2021-07-11 09:53:21 字數 3053 閱讀 6238

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

1、需要以root使用者身份登陸才可以檢視資料庫編碼方式(以root使用者身份登陸的命令為:>mysql -u root –p,之後兩次輸入root使用者的密碼),檢視資料庫的編碼方式命令為:

show variables like 『character%』;

+————————–+—————————-+

| variable_name | value |

+————————–+—————————-+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+————————–+—————————-+

從以上資訊可知資料庫的編碼為latin1,需要修改為gbk或者是utf8;

其中,character_set_client為客戶端編碼方式;character_set_connection為建立連線使用的編碼;character_set_database資料庫的編碼;

character_set_results結果集的編碼;

character_set_server資料庫伺服器的編碼;

只要保證以上四個採用的編碼方式一樣,就不會出現亂碼問題。

另乙個檢視資料庫編碼的命令:

show variables like 『collation%』;

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

ü 停止mysql的執行

/etc/init.d/mysql start (stop) 為啟動和停止伺服器

ü mysql主配置檔案為my.cnf,一般目錄為/etc/mysql

var/lib/mysql/ 放置的是資料庫表資料夾,這裡的mysql相當於windows下mysql的date資料夾

ü 當我們需要修改mysql資料庫的預設編碼時,需要編輯my.cnf檔案進行編碼修改,在linux下修改mysql的配置檔案my.cnf,檔案位置預設/etc/my.cnf檔案

找到客戶端配置[client] 在下面新增

default-character-set=utf8 預設字符集為utf8

在找到[mysqld] 新增

default-character-set=utf8 預設字符集為utf8

init_connect=』set names utf8』 (設定連線mysql資料庫時使用utf8編碼,以讓mysql資料庫為utf8執行)

修改好後,重新啟動mysql 即可,重新查詢資料庫編碼可發現編碼方式的改變:

show variables like 『character%』;

+————————–+—————————-+

| variable_name | value |

+————————–+—————————-+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+————————–+—————————-+

此方法用於標準mysql版本同樣有效,對於/etc/my.cnf檔案,需要從mysql/support-files的資料夾cp my-large.cnf乙份到/etc/my.cnf

3、windows系統下可以刪除mysql資料庫,並重新安裝,在安裝過程中可以直接用mysql server instance config wizard 進行設定

4、當mysql資料庫伺服器已經有資料不適合刪除重灌時,可以個別指定資料庫的編碼方式。mysql指定編碼的方式是非常靈活並多樣化的,可以指定表級別的編碼,行級別編碼,甚至可以指定字段級別的編碼。

以下示例給出建立資料庫時指定編碼的兩種方式:

1)create database ms_db character set utf8 collate utf8_general_ci;

2)create database if not exists netctoss default character set utf8;

5、如果你採用的是外部接入的方式,可以在連線中確定請求的編碼格式如:jdbc:mysql://localhost:3306 /mysql?useunicode=true&characterencoding=utf-8(注意:不要出現任何空格,否則出錯)

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

執行前:

執行後:

從執行命令前後可知,set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的編碼方式,並且這種修改是視窗級別的,只針對本視窗有效,開啟另外乙個視窗修改無效。也可發現資料庫底層的編碼方式沒有改變,插入資料後還是以utf8編碼方式保持。

mysql 檢視編碼方式

一 檢視資料庫的字符集 show variables like character set 輸出 variable name value character set client latin1 character set connection latin1 character set databas...

mysql 修改編碼方式 Mysql編碼方式修改

mysql編碼方式修改 使用mysql插入中文亂碼 mysql select name from info name 1 row in set 0.00 sec mysql 1.修改配置檔案的方式修改 找到mysql下的my.conf 1.在 mysqld 下新增 character set ser...

Mysql檢視編碼方式專題

mysql檢視編碼方式專題 一 檢視資料庫的字符集 show variables like character set 輸出 variable name value character set client latin1 character set connection latin1 charact...