昵稱中的emoji和特殊符號(hào)的處理
發(fā)表于:2020-09-22
在網(wǎng)站應(yīng)用的用戶注冊(cè)功能中,當(dāng)用戶想要輸入含有emoji 和特殊符號(hào)的昵稱時(shí),需要對(duì)昵稱進(jìn)行特殊處理,否則在保存到數(shù)據(jù)庫(kù)中時(shí)會(huì)發(fā)現(xiàn)保存失敗的情況。
這是英文在utf-8 編碼下,emoji 表情或者特殊字符占用是 4 個(gè)字節(jié),常用中文字符占用 3 個(gè)字節(jié)。所有首先是數(shù)據(jù)庫(kù)的問題,在MySQL 中utf8字符集不支持保存特殊符號(hào),使用 utf8mb4 字符集可以解決這個(gè)問題。
在數(shù)據(jù)庫(kù)字符集不能修改的情況下,可以對(duì)特殊符號(hào)進(jìn)行刪除和替換處理,這也是簡(jiǎn)單直接的方法,過濾掉emoji 和特殊符號(hào)就可以直接保存到數(shù)據(jù)庫(kù)中。
刪除 emoji 和特殊符號(hào)
還可以對(duì)用戶昵稱進(jìn)行 base64 編碼,一種基于 64 個(gè)可打印字符來表示二進(jìn)制數(shù)據(jù)的方法,在從數(shù)據(jù)庫(kù)中取出時(shí)對(duì)昵稱字符串進(jìn)行解碼,就可以完整的顯示昵稱,不需要替換和過濾。
(非特殊說明,本文版權(quán)歸原作者所有,轉(zhuǎn)載請(qǐng)注明出處 )
標(biāo)簽: 上海網(wǎng)站建設(shè)、上海網(wǎng)站制作、高端網(wǎng)站設(shè)計(jì)、邁若網(wǎng)絡(luò)
手機(jī)隨時(shí)獲取邁若動(dòng)態(tài),掃描左側(cè)二維碼
添加邁若微信公眾號(hào)【manro_since2005】
相關(guān)文章