本文目錄一覽:
- 1、如何查看設置mysql數據庫編碼方式
- 2、如何查看mysql數據庫字符集編碼
- 3、怎麼設置mysql數據庫編碼,如何查看mysql編碼
- 4、如何設置mysql數據庫為utf-8編碼
- 5、mysql數據庫怎麼設置編碼格式
如何查看設置mysql數據庫編碼方式
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=truecharacterEncoding=utf-8(注意:不要出現任何空格,否則出錯)
6、執行腳本:指定編碼格式set names gbk(注意,不是UTF-8)可以修改
執行前:
執行後:
從執行命令前後可知,set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的編碼方式,並且這種修改是窗口級別的,只針對本窗口有效,打開另外一個窗口修改無效。也可發現數據庫底層的編碼方式沒有改變,插入數據後還是以utf8編碼方式保持。
如何查看mysql數據庫字符集編碼
基本上現在的字符集 MySQL 都支持,查看 MySQL 支持的字符集列表, 有兩種方法:
1. SQL 語句
2. 查看元數據字典表
查詢結果:
1)第一列代表字符集名字;
2)第二列表示字符集排序規則;
3)第三列表示字符集描述;
4)第四列表示字符集編碼的最大位元組數。
怎麼設置mysql數據庫編碼,如何查看mysql編碼
default-character-set=utf82單獨設置某個數據庫:
alter
database
testdb
character
set
utf8;
查看mysql支持的編碼:
show
character
set;也可以使用如下方法查看編碼:
show
status
mysql
-uroot
use
your
database
status
———————————-
server
characterset:
utf8
db
characterset:
utf8
client
characterset:
utf8
conn.
characterset:
utf8
tcp
port:
3306
uptime:
53
sec
———————————-
如果
client
為utf8
,
改為:
set
char
set
‘gbk’;
查看數據庫編碼:show
create
database
your_db_name
如何設置mysql數據庫為utf-8編碼
檢查當前數據庫編碼。
使用語句:
show variables like 『%character%』;
show variables like』%collation%』;
如果不是以上情況,需要將mysql編碼設置為utf-8。具體步驟如下:
如果安裝mysql時安裝了「MySql Sever Instance Configuration Wizard」,則只需要啟動該程序進行相應設置即可。如下面截圖中所描述,需要將默認編碼設置為utf8
如果沒有該程序,需要手動修改mysql編碼。
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf
–在 [mysqld] 標籤下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標籤下已經存在「default-character-set=GBK」類似的內容,只需修改即可。
–在 [mysql] 標籤下加上一行
default-character-set = utf8
–在 [mysql.server]標籤下加上一行
default-character-set = utf8
–在 [mysqld_safe]標籤下加上一行
default-character-set = utf8
–在 [client]標籤下加上一行
default-character-set = utf8
2、 重新啟動MySql服務
Windows可在服務管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務名可能不一定為mysql,請按自己的設置
Linux下面可是用 service mysql restart
如果出現啟動失敗,請檢查配置文件有沒有設置錯誤
3、 查看設置結果
登錄MySql命令行客戶端:打開命令行
mysql –uroot –p 回車
輸入密碼
進入mysql後 執行 :show variables like “% character %”;
另外:
建立數據庫時可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改數據庫編碼的命令為:
alter database app_relation character set utf8;
mysql數據庫怎麼設置編碼格式
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf
–在 [mysqld] 標籤下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標籤下已經存在「default-character-set=GBK」類似的內容,只需修改即可。
–在 [mysql] 標籤下加上一行
default-character-set = utf8
–在 [mysql.server]標籤下加上一行
default-character-set = utf8
–在 [mysqld_safe]標籤下加上一行
default-character-set = utf8
–在 [client]標籤下加上一行
default-character-set = utf8
2、 重新啟動MySql服務
Windows可在服務管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務名可能不一定為mysql,請按自己的設置
Linux下面可是用 service mysql restart
如果出現啟動失敗,請檢查配置文件有沒有設置錯誤
3、 查看設置結果
登錄MySql命令行客戶端:打開命令行
mysql –uroot –p 回車
輸入密碼
進入mysql後 執行 :show variables like “% character %”;
顯示結果應該類似如下:
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
如果仍有編碼不是utf8的,請檢查配置文件,也可使用mysql命令設置:
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
另外:
建立數據庫時可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改數據庫編碼的命令為:
alter database app_relation character set utf8;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/154330.html