[英]In MySQL, what do I put inside my.cnf so that all tables are UTF-8 that works with emojis by default?
我希望每個表和數據庫(要創建)都是與emojis一起使用的utf-8。 我知道我需要在my.cnf
定義一些變量:
init_connect='SET collation_connection = ??? '
init_connect='SET NAMES ???'
character-set-server = ???
collation-server = ???
但是,我不知道該放什么???
。 我在my.cnf
里面放了什么?
本文可能會有所幫助: https : //mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4
它詳細解釋了如何切換到utf8mb4
以支持完整的unicode,從而允許emojis使用以下配置:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
除了像@eol建議更改為utf8mb4
之外,還有更多工作要做。
如果您已經擁有包含utf8
列的表; 執行ALTER TABLE .. CONVERT TO CHARACTER SET utf8mb4
。
連接時,如果客戶端采用非mysql方式,請務必建立UTF-8
,或使用SET NAMES utf8mb4
。
請記住, root
忽略了init-connect
。 您應該為應用程序提供非root用戶。
支持MySQL數據庫中的完整Unicode
對於數據庫: ALTER DATABASE DATABASE_NAME CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
對於表格: ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
對於列: ALTER TABLE TABLE_NAME CHANGE COLUMN_NAME COLUMN_NAME VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.