SegmentFault有用戶提出要支持Emoji表情輸入,就研究了一下:
要記得備份數(shù)據(jù)庫(kù)。
首先Mysql數(shù)據(jù)庫(kù)在5.5.3之后開(kāi)始支持utf8mb4字符集,所以mysql版本是5.5.3+的都可以設(shè)置讓數(shù)據(jù)庫(kù)存儲(chǔ)Emoji表情,如果你的應(yīng)用有移動(dòng)端的,最好一開(kāi)始設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候就使用utf8mb4字符集,當(dāng)然沒(méi)用的也可以通過(guò)如下方式修改:
編輯mysql配置文件
vim /etc/my.cnf
添加下面代碼
[mysqld] character-set-server=utf8mb4 [mysql] default-character-set=utf8mb4
在mysql中執(zhí)行以下命令修改環(huán)境變量
set character_set_client = utf8mb4; set character_set_connection = utf8mb4; set character_set_database = utf8mb4; set character_set_results = utf8mb4; set character_set_server = utf8mb4;
查看是否修改成功,執(zhí)行如下sql語(yǔ)句
SHOW VARIABLES WHERE Variable_name LIKE "character\_set\_%" OR Variable_name LIKE "collation%";
輸出結(jié)果差不多如下:
修改已經(jīng)建立表的字符集
alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin;
至此數(shù)據(jù)庫(kù)的配置就完成了,在代碼連接數(shù)據(jù)庫(kù)之后還需要執(zhí)行
SET names utf8mb4
這樣就可以自此 Emoji 表情了,蛤。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21064.html
摘要:讀音,全稱,是系列產(chǎn)品一個(gè)重要版本,其軟件識(shí)別名稱為即是一個(gè)基于框架進(jìn)行開(kāi)發(fā)的一個(gè)功能強(qiáng)大易于開(kāi)發(fā)和強(qiáng)拓展的社交系統(tǒng)。另一方面,程序采用嚴(yán)格模式,從根本上盡量避免弱級(jí)錯(cuò)誤的產(chǎn)生。哪怕你不會(huì)框架,也能讓你入門框架基礎(chǔ),并勝任應(yīng)用開(kāi)發(fā)。 Plus (讀音:[pl?s],全稱:ThinkSNS+ [θ??k es en es pl?s],是 ThinkSNS 系列產(chǎn)品一個(gè)重要版本,其軟...
摘要:中無(wú)法存儲(chǔ)字符,源自于之前編碼只支持最大個(gè)字節(jié),而需要個(gè)字節(jié)。事實(shí)上,如果只是某個(gè)列存在字符的存儲(chǔ)問(wèn)題,那就只需要修改這個(gè)列的編碼類型即可。這涉及到應(yīng)用與建立連接的問(wèn)題。有一條命令是,會(huì)將的編碼統(tǒng)一設(shè)置。使用這條命令便可以達(dá)到我們的目的。 MySQL中無(wú)法存儲(chǔ)Emoji字符,源自于MySQL 5.5之前utf8編碼只支持最大3個(gè)字節(jié),而Emoji需要4個(gè)字節(jié)。從MySQL 5.5開(kāi)始,...
閱讀 3038·2023-04-25 18:06
閱讀 3307·2021-11-22 09:34
閱讀 2869·2021-08-12 13:30
閱讀 2058·2019-08-30 15:44
閱讀 1671·2019-08-30 13:09
閱讀 1639·2019-08-30 12:45
閱讀 1726·2019-08-29 11:13
閱讀 3617·2019-08-28 17:51