java對(duì)Emoji表情的忽略

最近做做移動(dòng)端開發(fā)泵琳,用戶輸入Emoji表情時(shí),
SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column 'review' at row 1

遵照以前的解決方案嫡锌,把emoji表情的字符串過(guò)濾掉,然后存到數(shù)據(jù)庫(kù)中琳钉;

根據(jù)字符編碼來(lái)排除Emoji表情势木;
暫時(shí)不曉得js如何過(guò)濾掉Emoji表情,當(dāng)然也是通過(guò)編碼的方式吧歌懒!

寫上java代碼吧@沧馈!

package com.migoedu.mobile.common.Emoji;

import org.apache.commons.lang3.StringUtils;

/**
 * Created by XXX on 2015/9/7.
 */
public class EmojiFilter {
    /**
     * 檢測(cè)是否有emoji字符
     * @param source
     * @return 一旦含有就拋出
     */
    public static boolean containsWord(String source) {
        System.out.println(StringUtils.isBlank(source));
        if (StringUtils.isBlank(source)) {
            return false;
        }

        int len = source.length();
        System.out.println(len);
        for (int i = 0; i < len; i++) {
            char codePoint = source.charAt(i);

            if (isNotEmojiCharacter(codePoint)) {
                return true;
            }
        }

        return false;
    }


    private static boolean isNotEmojiCharacter(char codePoint) {
        return (codePoint == 0x0) ||
                (codePoint == 0x9) ||
                (codePoint == 0xA) ||
                (codePoint == 0xD) ||
                ((codePoint >= 0x20) && (codePoint <= 0xD7FF)) ||
                ((codePoint >= 0xE000) && (codePoint <= 0xFFFD)) ||
                ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF));
    }

    /**
     * 過(guò)濾emoji 或者 其他非文字類型的字符
     * @param source
     * @return
     */
    public static String filterEmoji(String source) {

        if (!containsWord(source)) {
            System.out.println("filterEmoji 不包含文字說(shuō)明只有表情及皂。");
            return "";//如果不包含甫男,直接返回
        }
        //到這里鐵定包含
        StringBuilder buf = null;

        int len = source.length();

        for (int i = 0; i < len; i++) {
            char codePoint = source.charAt(i);

            if (isNotEmojiCharacter(codePoint)) {
                if (buf == null) {
                    buf = new StringBuilder(source.length());
                }
                buf.append(codePoint);
            } else {
            }
        }

        if (buf == null) {
            return "";//如果沒有可能到這步吧!
        } else {
            if (buf.length() == len) {//這里的意義在于盡可能少的toString验烧,因?yàn)闀?huì)重新生成字符串
                return source;
            } else {
                return buf.toString();
            }
        }

    }
}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末板驳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碍拆,更是在濱河造成了極大的恐慌若治,老刑警劉巖慨蓝,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異端幼,居然都是意外死亡礼烈,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門婆跑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)此熬,“玉大人,你說(shuō)我怎么就攤上這事滑进∠溃” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵郊供,是天一觀的道長(zhǎng)峡碉。 經(jīng)常有香客問我,道長(zhǎng)驮审,這世上最難降的妖魔是什么鲫寄? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮疯淫,結(jié)果婚禮上地来,老公的妹妹穿的比我還像新娘。我一直安慰自己熙掺,他們只是感情好未斑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著币绩,像睡著了一般蜡秽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缆镣,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天芽突,我揣著相機(jī)與錄音,去河邊找鬼董瞻。 笑死寞蚌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钠糊。 我是一名探鬼主播挟秤,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抄伍!你這毒婦竟也來(lái)了艘刚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤截珍,失蹤者是張志新(化名)和其女友劉穎昔脯,沒想到半個(gè)月后啄糙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡云稚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年隧饼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片静陈。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡燕雁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鲸拥,到底是詐尸還是另有隱情拐格,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布刑赶,位于F島的核電站捏浊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏撞叨。R本人自食惡果不足惜金踪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望牵敷。 院中可真熱鬧胡岔,春花似錦、人聲如沸枷餐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)毛肋。三九已至怨咪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間润匙,已是汗流浹背诗眨。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趁桃,地道東北人辽话。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓肄鸽,卻偏偏與公主長(zhǎng)得像卫病,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子典徘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 原文:Introducing Full Emoji Support in NGINX and NGINX Plus...
    微笑0619閱讀 955評(píng)論 0 0
  • 我一直很討厭一個(gè)emoji表情蟀苛。 總覺得它特別假,皮笑肉不笑逮诲。 所以和我相熟的朋友帜平,幾乎從來(lái)不會(huì)在和我聊天的過(guò)程中...
    蘭海123閱讀 490評(píng)論 4 4
  • 星期天回老家看父母幽告,不免帶上孩子去老宅看看。在一片荒廢的家園中裆甩,隨處可見幾株桃花在爭(zhēng)相斗艷冗锁。我騎著電單車載上女兒在...
    zhuimengren閱讀 217評(píng)論 0 5
  • 不知道簡(jiǎn)書有沒有“字多不看”這個(gè)習(xí)俗,前幾篇簡(jiǎn)直太長(zhǎng)了嗤栓,那今天要睡覺之前分享一則看到的簡(jiǎn)短且有感悟的小故事冻河,看完有...
    產(chǎn)品經(jīng)理說(shuō)閱讀 3,024評(píng)論 5 26
  • 周五涵涵放學(xué)回來(lái)放下書包吃過(guò)晚飯就去找隔壁音音玩,兩人結(jié)伴到小區(qū)滑滑輪再找其他小伙伴一起玩耍茉帅。涵涵不再像以前那樣喊...
    阿紋_f348閱讀 269評(píng)論 0 0