本文目錄一覽:
- 1、如何修改mysql資料庫字符集
- 2、怎麼更改mysql資料庫中的欄位字符集
- 3、如何修改MySQL字符集
- 4、如何更改mysql資料庫的字符集
- 5、如何修改mysql表欄位的字符集
- 6、mysql 更改資料庫字元編碼的方法
如何修改mysql資料庫字符集
方法/步驟
如果沒有配置好cmd裡面的mysql 環境變數,那就在系統高級設置那兒進行MySQL的環境變數設置。
win+R,調出「運行」,輸入cmd,回車
登錄資料庫,
查看資料庫
查看資料庫字元編碼
通過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;
當然還有:
修改資料庫的字符集mysqluse mydb
mysqlalter database mydb character set utf8;
創建資料庫指定資料庫的字符集
mysqlcreate database mydb character set utf8;
怎麼更改mysql資料庫中的欄位字符集
關鍵字:字符集gbkutf8開始表w的字符集設置成了gbk,但是現在的建的表要求字符集為utf8。於是:alter
table
`w`
default
character
set
utf8;或者alter
table
tbl_name
convert
to
character
set
charset_name;但是發現其中一個欄位content的字符集還是gbk。於是更改mysql資料庫表中某個欄位的字符集,修改欄位的定義:alter
table
`w`
modify
column
`content`
varchar(30)
character
set
utf8
not
null;
如何修改MySQL字符集
首先,MySQL的字符集問題主要是兩個概念,一個是Character Sets,一個是Collations,前者是字元內容
及編碼,後者是對前者進行比較操作的一些規則。這兩個參數集可以在資料庫實例、單個資料庫、表、列等四個級
別指定。
對於使用者來說,一般推薦使用utf8編碼來存儲數據。而要解決亂碼問題,不單單是MySQL數據的存儲問題,還
和用戶的程序文件的編碼方式、用戶程序和MySQL資料庫的連接方式都有關係。
首先,MySQL有默認的字符集,這個是安裝的時候確定的,在編譯MySQL的時候可以通過DEFAULT_CHARSET=
utf8和DEFAULT_COLLATION=utf8_general_ci這兩個參數(MySQL5.5版本,5.1版本用–with-charset=
utf8 –with-collation=utf8_general_ci)來指定默認的字符集為utf8,這也是最一勞永逸的辦法,這樣指定後,
客戶端連接到資料庫的編碼方式也默認是utf8了,應用程序不需要任何處理。
但是遺憾的是,很多人編譯安裝MySQL的時候沒有指定這兩個參數,大多數人更是通過二進位程序的方式安裝,那
么這時候MySQL的默認字符集是latin1。而這時候我們仍然可以指定MySQL的默認字符集,通過my.cnf文件增加
兩個參數:
1.在[mysqld]下添加
default-character-set=utf8(mysql 5.5 版本添加character-set-server=utf8)
2.在[client]下添加
default-character-set=utf8
這樣我們建資料庫建表的時候就不用特別指定utf8的字符集了。配置文件里的這種寫法解決了數據存儲和比較的問題
,但是對客戶端的連接是沒有作用的,客戶端這時候一般需要指定utf8方式連接才能避免亂碼。也就是傳說總的set
names命令。事實上,set names utf8命令對應的是伺服器端以下幾個命令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = xutf8;
但這三個參數是不能寫在配置文件my.cnf里的。只能通過set命令來動態修改。我們需要的是在配置文件里寫好一勞
永逸的辦法。那麼這時候,是否有在服務端解決問題的辦法呢,可行的思路是在init_connect里設置。這個命令在每
個普通用戶連接上來的時候都會觸發執行,可以在[mysqld]部分增加以下一行設置連接字符集:
在[mysqld]下添加:
init_connect = ‘SET NAMES utf8’
總結:
1、首選在編譯安裝MySQL的時候指定兩個參數使用utf8編碼。
2、次選在配置文件my.cnf或my.ini設定兩個參數,同時設置init_connect參數。
3、第三在配置文件my.cnf或my.ini設定兩個參數,同時客戶端的連接指定set names命令。
4、在配置文件my.cnf里的client和server處加入default-character-set參數方便管理。
複製代碼
1 ——-客戶端—-
2 [client]
3 no-beep
4
5 # pipe
6 # socket=mysql
7 port=3306
8
9 [mysql]
10
11 default-character-set=gb2312
12
13 —–伺服器—-
14
15 # The default character set that will be used when a new schema or table is
16 # created and no character set is defined
17 character-set-server=gb2312
複製代碼
1,service mysqld stop,停用mysql。
2.cp /etc/my.cnf /etc/my.cnf.bak,修改前做備份,這是個好習慣。
修改my.cnf或my.ini(只有修改配置文件,並重啟伺服器,才能永久生效)
vi /etc/my.cnf
在[client]下添加,client為控制客戶端的,沒試過,沒有的可以不需要加。
default-character-set=utf8
在[mysqld]下添加,mysqld為控制伺服器端的,改過了,OK。
default-character-set=utf8
3.service mysqld restart,重啟。
4.show variables like ‘%char%’;查看。
以下為網路轉載,比較全。
//////////////////////////////////////////
查看mysql字符集MySQL 亂碼的根源是的 MySQL 字元
ubuntu 10.04 mySql 啟動,停止,重啟
啟動:sudo /etc/init.d/mysql start
停止:sudo /etc/init.d/mysql stop
重啟:sudo /etc/init.d/mysql restart
注意:從windows下拷貝過來的文件在linux下不能直接加入資料庫,因為字符集不一樣,這樣打開即使顯示是中文也不能在資料庫中顯示,要把文件拷貝進linux的另一個文件中轉換字元才可以。
MySQL 亂碼的根源是的 MySQL 字符集設置不當的問題,本文匯總了有關查看 MySQL 字符集的命令。包括查看 MySQL 資料庫伺服器字符集、查看 MySQL 資料庫字符集,以及數據表和欄位的字符集、當前安裝的 MySQL 所支持的字符集等。
一、查看 MySQL 資料庫伺服器和資料庫字符集。
mysql show variables like ‘%char%’;
二、查看 MySQL 數據表(table) 的字符集。
mysql show table status from sqlstudy_db like ‘%countries%’;
三、查看 MySQL 數據列(column)的字符集。
mysql show full columns from countries;
四、查看當前安裝的 MySQL 所支持的字符集。
mysql show charset;
mysql show char set;
以上查看 MySQL 字符集命令,適用於 Windows Linux。
1.查找MySQL的cnf文件的位置
find / -iname ‘*.cnf’ -print
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-small.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-huge.cnf
/usr/share/texmf/web2c/texmf.cnf
/usr/share/texmf/web2c/mktex.cnf
/usr/share/texmf/web2c/fmtutil.cnf
/usr/share/texmf/tex/xmltex/xmltexfmtutil.cnf
/usr/share/texmf/tex/jadetex/jadefmtutil.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-innodb-heavy-4G.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-large.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-small.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-medium.cnf
/usr/share/doc/MySQL-server-community-5.1.22/my-huge.cnf
2. 拷貝 small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf其中的一個到/etc下,命名為my.cnf
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
3. 修改my.cnf 或my.ini(5.6版本)
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8
4.重新啟動MySQL
[root@bogon ~]# /etc/rc.d/init.d/mysql restart
Shutting down MySQL [ 確定 ]
Starting MySQL. [ 確定 ]
[root@bogon ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-community-log MySQL Community Edition (GPL)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
其他的一些設置方法:
通過配置文件修改:
修改/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:
[root@bogon ~]# /etc/rc.d/init.d/mysql restart
如何更改mysql資料庫的字符集
(1) 最簡單的修改方法,就是修改mysql的my.ini文件中的字符集鍵值,
如 default-character-set = utf8
character_set_server = utf8
修改完後,重啟mysql的服務,service mysql restart
使用 mysql SHOW VARIABLES LIKE ‘character%’;查看,發現資料庫編碼均已改成utf8
+————————–+———————————+ | 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 | D:”mysql-5.0.37″share”charsets” | +————————–+———————————+
(2) 還有一種修改mysql默認字符集的方法,就是使用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 collation_connection = utf8 ; mysql SET collation_database = utf8 ; mysql SET collation_server = utf8 ;
一般就算設置了表的mysql默認字符集為utf8並且通過UTF-8編碼發送查詢,你會發現存入資料庫的仍然是亂碼。問題就出在這個connection連接層上。解決方法是在發送查詢前執行一下下面這句:
SET NAMES ‘utf8’;
它相當於下面的三句指令:
SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;
如何修改mysql表欄位的字符集
修改mysql的默認字符集是通過修改它的配置文件來實現的。一般分兩種情況:
windows平台
windows下的mysql配置文件是my.ini,一般在c:windowsmy.ini或者c:winntmy.ini可以直接在這個文件裡面加上
default-character-set=gbk
#或gb2312,big5,utf8
然後重新啟動mysql
service
mysql
restart
或
/etc/init.d/mysql
restart
或用其他方法重新啟動,就生效了。
unix平台
linux下的mysql配置文件是my.cnf,一般是/etc/my.cnf,如果找不到可以用find命令找一下:
find
/
-iname
my.cnf
在這個文件裡面加上
default-character-set=gbk
#或gb2312,big5,utf8
然後重新啟動mysql
net
stop
mysql
net
start
mysql
就生效了。
mysql 更改資料庫字元編碼的方法
mysql如何更改資料庫字元編碼?藉助客戶端工具很容易就可以更改了,下面來看一下。
01
打開navicat客戶端工具,在左邊找到要更改的資料庫。
02
右鍵點擊這個資料庫,在菜單上點擊資料庫屬性選項。
03
在彈出的屬性窗口上,點擊默認字符集下的下拉框。
04
在彈出的下拉選項里,點擊選中要使用的字符集就行了,比如選擇常用的utf8字符集,點擊ok按鈕就行了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/199093.html