mysql存儲中文字元
❶ Mysql儲存中文因該用什麼數據格式
中文存儲應該用UTF8或者GBK,但是國際通用UTF-8存儲中文,別的形式很容易出現亂碼現象。在設計表時就應該選擇編碼。
❷ MySQL 中如何存中文
MySQL 中何存中文方法如下:
1、create table的時候加上:ENGINE=InnoDB DEFAULT CHARSET=gbk;
例如:
CREATE TABLE t_department (
sid varchar(32) NOT NULL,
pid varchar(32) NOT NULL,
thedata varchar(50) NOT NULL
ENGINE=InnoDB DEFAULT CHARSET=gbk;
2、打開MySQL目錄下的my.ini文件,把裡面所有的default-character-set選項設為GBK或者GB2312,保存後重啟MySQL。
❸ mysql字元集是latin1,如何將中文存進去
中文不管用什麼字元集來表示(GBK\GB2312\UTF8等),最終都是位元組的整數倍,而latin1或者說ISO-8859-1就是滿8byte(整位元組)的編碼方式。無論你傳多少個位元組進去,mysql都可以認為它是一個或者多個latin字元而已。是不是亂碼取決於讀出來之後的解碼方式,或者說客戶端的處理方式。客戶端如果知道讀出來的是中文,那麼就會按照中文的方式來嘗試解碼,自然就得不到亂碼,如果按照其它編碼方式來解碼,自然就可能是亂碼。
❹ mysql中varchar(50)最多能存多少個漢字
首先要確定mysql版本,一般一個漢字2個位元組,50即可存25個漢字。
4.0版本以下,varchar(50),指的是50位元組,如果存放UTF8漢字時,只能存16個(每個漢字3位元組)。
5.0版本以上,varchar(50),指的是50字元,無論存放的是數字、字母還是UTF8漢字(每個漢字3位元組),都可以存放50個。最好是在自己資料庫中建個表試試可以放多少漢字,現在mysql已經有5.0了,varchar(50)是可以存50個漢字的。
存儲引擎
MyISAMMySQL 5.0 之前的默認資料庫引擎,最為常用。擁有較高的插入,查詢速度,但不支持事務。
InnoDB事務型資料庫的首選引擎,支持ACID事務,支持行級鎖定, MySQL 5.5 起成為默認資料庫引擎。
BDB源 自 Berkeley DB,事務型資料庫的另一種選擇,支持Commit 和Rollback 等其他事務特性。
Memory所有數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會佔用和數據量成正比的內存空間。並且其內容會在 MySQL 重新啟動時丟失。
以上內容參考:網路-mySQL