mysql中怎麼設定字符集,mysql中怎麼修改某一資料庫的預設字符集

時間 2022-02-19 09:40:02

1樓:愛可生雲資料庫

character introducer翻譯過來就是字元引導。也就是針對字串,顯式的給定一個字元編碼和排序規則,不受系統引數的影響。

總結 introducer 使用規則:

1. convert 函式

convert 函式類似於 introducer,不過只能指定字符集。

2. charset 函式

檢測字串的字符集。可以檢測出當前字串在當前 session 的字符集。

3. set names 語句

語法為:

set names

這條語句最常用,可是也最容易被濫用,比如語句:

set names latin1 collate latin1_bin;

執行後會預設執行一系列語句,也就是把非服務端的相關引數給重新設定了。

4. set character set 語句語法為:

set類似語句 set names,同樣是設定以下三個 session 引數:

character_set_results

character_set_client

character_set_connection

同樣是可以恢復預設值,還有同樣的限制規則等。不過有兩點不同:1)引數 character_set_connection 的值不會被設定為指定的字符集,而是繼承引數 character_set_database 所設定的字符集。

5. collate 子句

collate 語句強制指定排序規則,優先順序最高。也就是顯式指定 collate 會覆蓋已有的排序規則。

這裡涉及到單個字串以及字串拼接的排序規則問題。

mysql中怎麼修改某一資料庫的預設字符集

2樓:上官三雲

關鍵字:字符集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如何修改**的字符集,如何修改某個欄位的字符集

3樓:步飛蓮

如果使用者想改變表的預設字符集和所有的字元列的字符集到一個新的字符集,使用下面的語句:

alter table tbl_name convert to character set charset_name;警告:上述操作是在字符集中轉換列值。如果使用者在字符集(如 gb2312)中有一個列,但儲存的值使用的是其它的一些不相容的字符集(如 utf8),那麼該操作將不會得到使用者期望的結果。

在這種情況下,使用者必須對每一列做如下操作:

alter table t1 change c1 c1 blob;

alter table t1 change c1 c1 text character set utf8;

這樣做的原因是:從 blob 列轉換或轉換到 blob 列沒有轉換髮生。

如果使用者指定以二進位制進行 convert to character set,則 char、varchar 和 text 列將轉換為它們對應的二進位制字串型別(binary,varbinary,blob)。這意味著這些列將不再有字符集,隨後的 convert to 操作也將不會作用到它們上。

如果僅僅改變一個表的預設字符集,可使用下面的語句:

alter table tbl_name default character set charset_name;

default是可選的。當向一個表裡新增一個新的列時,如果沒有指定字符集,則就採用預設的字符集(例如當alter table ... add column)。

alter table ... default character set 和 alter table ... character set 是等價的,修改的僅僅是預設的表字符集。

如何更改mysql資料庫編碼為utf-8或者gb2312?

4樓:田憐

用alter語句. 如果資料庫已經有資料表了, 那每個表都要修改. (修改資料庫的字符集不會改變原有資料表的字符集)

.關閉mysql服務(以下為命令列中執行)view plaincopy

service mysql stop

修改my.ini檔案加上default-character-set=gb2312設定資料庫字符集alterdatabase da_... 故修改資料庫編碼為utf-8。

1.使用root賬號,開啟mysql的配置文... 有時候 需要將mysql...

進入mysql的安裝目錄,找到my-default.ini或者my.ini配置檔案

mysql用sql語句建立表和資料庫怎麼設定字元編碼'

5樓:愛可生雲資料庫

ascii

用途:用來對映簡單的單位元組字元,比如大小寫英文字母、阿拉伯數字、常用的標點符、運算子、控制字元等。

編碼範圍:u+0000 - u+007f

注意:對於用這類字元的場景夠用了,但是卻無法表達比如漢字,日文等編碼。

2. unicode

用途:用來對映包含 ascii 以內的其他的所有字元。

編碼範圍:u+0000 - u+10ffff

注意:ascii 是 unicode 的子集,ascii 編碼的字元可以無損轉換為 unicode 編碼的字元。

mysql 常用字符集

1. latin1

latin1 是 cp1252 或者 iso-8859-1 的別名。iso-8859-1 編碼是單位元組編碼,向下相容 ascii。

編碼範圍:u+0000 - u+00ff

iso-8859-1 收錄的字元除 ascii 收錄的字元外,還包括西歐語言、希臘語、泰語、阿拉伯語、希伯來語對應的文字元號。

單位元組內的空間都被 iso-8859-1 編碼佔用,所以能夠用 iso-8859-1 編碼儲存、傳輸其他任何編碼的位元組流。

比如把一個 utf8mb4 的編碼或者 gbk 的編碼存入 latin1,不會有任何問題。因為 latin1 保留了原始的位元組流,這也就是 mysql 長期以來把 latin1 做預設字符集的原因。

但是由於 latin1 對任何字元都存放位元組流,造成了字元個數的浪費。

比如:char(10) character set latin1;char(10) character set utf8;

該欄位中儲存字元個數 utf8 是 latin1 的三倍!!!

2. gb18030

gb18030 是中國官方標準字符集,向前相容 gbk、gb2312,是這兩個的超集。用 1、2、4 個位元組分別表示一個符號。比如對一般中文字元,預設是用兩個位元組編碼儲存。

windows 系統,預設用的就是 gb18030。

若只是儲存中文字元,那 gb18030 最佳。

原因有兩點:

1)佔用空間小,比如比 utf8 小。

2)儲存的漢字根據拼音來排序,檢索快。

3. utf8

utf8 是 unicode 的編碼實現,可以儲存 unicode 編碼對應的任何字元, 這也是使用最多的一種編碼。最大的特點就是變長的編碼方式,用 1 到 4 個位元組表示一個符號,可以根據不同的符號編碼位元組長度。

字母或數字用 1 位元組,漢字用 3 位元組,emoji 表情符號用 4 位元組。utf8 字符集目前是使用最廣泛的。

注意!mysql 裡常說的 utf8 是 utf8mb3 的別名,utf8mb3 是 utf8mb4 的子集,utf8mb4 才是真正的 4 位元組 utf8 字符集!

utf8mb3 表示最大支援 3 個位元組儲存字元,utf8mb4 表示最大 4 個位元組儲存字元。根據實際需要和未來展望,mysql 8.0 已經預設用 utf8mb4 基礎字符集。

mysql中怎麼直接檢視一個表的字符集?

mysql中怎麼用selectfrom TABLES

select 是mysql的查詢語句,使用前須指定使用的是哪個資料庫,檢視有哪些資料庫 選擇資料庫 檢視該資料庫下有哪些資料表 查詢資料 5 表示查詢出表裡的所有資料,如果只查詢部分資料,可以將 替換為指定欄位即可 mysql中select from v 表名,什麼用法?執行命令 show crea...

eclipse中怎麼呼叫mysql資料表

應該是用jdbc去連線吧!寫個dao 然後去連線資料庫 如下 public connection getconnection catch classnotfoundexception e catch sqlexception e public void close resultset rs,stat...

php中怎麼實現點選按鈕然後從MYSQL中刪除對應行的資料

比如現在我想傳到admin.php 頁面 傳遞的資料是 id 22 page 1 不需要這麼煩的吧 刪除 在admin.php頁面 用 id get id 就可以得到id的值 page同理 無重新整理操作,可以用jquery.ajax來操作。快下班了,就簡單地寫一段給你試試。假設你的刪除按鈕是 這裡...