如何在免費版的MySQL中存儲Unicode?如何在MySQL中存儲unicode?
在SQL Server中似乎沒有nvarchar
類型。 MySQL不支持Unicode嗎?我嘗試使用text
,但這也不起作用。
如何在免費版的MySQL中存儲Unicode?如何在MySQL中存儲unicode?
在SQL Server中似乎沒有nvarchar
類型。 MySQL不支持Unicode嗎?我嘗試使用text
,但這也不起作用。
你需要選擇一個utf8_*
字符爲您的表中設置。文本和備註字段將自動存儲在UTF-8中。對於UTF-16載體中的MySQL 6.
您是否嘗試過在連接後設置名稱?嘗試存儲unicode字符的結果是什麼?連接到mysql服務器並輸入:
SET NAMES UTF8;
這應該對utf8打開「支持」。然後嘗試存儲utf數據。
http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html - 我認爲這可以幫助你
來的字符集爲給定的字符串列(CHAR
,VARCHAR
或*TEXT
)是由它的character set and/or collation確定。這是一個相當激烈的話題,所以最好閱讀我鏈接的文檔。例如:
CREATE TABLE t1
(
col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci
)
將創建一個表t1
與col1
存儲其以UTF-8編碼的內容。
很好的解釋和例子。謝謝。@ Stefan Gehrig – 2017-05-17 13:17:34
我遵循自己的編碼風格,所以請在我的領導下考慮這一點。
首先我創建了MySql數據庫。
創建數據庫,在MySQL命令提示後,得到命令:
SET NAMES = UTF8;
表和列存儲Unicode是與覈對屬性作爲UTF8-utf_general_ci進行設置。要選擇每個存儲unicode的列,並將排序規則屬性設置爲utf8-utf_general_ci。
現在在C#中。
我的連接字符串設置像往常一樣,但是添加這樣一個屬性:
constring = @"SERVER=localhost;" + @"PORT=3306;" + @"DATABASE=gayakidb;" + @"UID=root;" + @"PASSWORD=mysql;" + @"charset=utf8;";
接下來,在你的系統OS的「顯示語言設置」安裝Unicode字體。或者,您可以將字體文件(真實類型文件)複製並粘貼到操作系統的字體文件夾中。
然後我設置屬性頁中的文本框對象或任何其他工具對象的字體屬性。
更重要的是,如果您需要使用鍵盤輸入unicode字體,則需要安裝用於鍵盤佈局的unicode語言。這可以使用操作系統的區域語言設置選項來完成。
完成。通過這些設置,我編寫了用於保存數據的模塊,並在運行ocde時成功完成了這項工作。
使用此查詢
alter table `DBNAME`.`TblName` Engine=InnoDB checksum=1 comment='' delay_key_write=1 row_format=dynamic charset=utf8 collate=utf8_unicode_ci
「使用此查詢」沒有解釋是一個不好的答案。 – Emiswelt 2017-12-26 23:04:10
更新:UTF-16的表情符號(utf8mb4)支持自5.5版本介紹:http://dev.mysql.com/doc/refman/5.5/en/charset- unicode.html – Raptor 2014-12-29 04:24:48
值得注意的是,根據您從數據庫中檢索數據的方式,也可能需要明確讓連接使用UTF-8。 – hugovdberg 2018-01-06 12:14:16