MYSQL篇 三月 21, 2017

为网站添加emoji表情支持

文章字数 2.1k 阅读约需 2 mins. 阅读次数

emoji

准备

  • MySQL5.5.3+
  • mysql-connector-java5.1.13+

有异常

    java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) 
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) 
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662) 
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581)

配置项


    [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
  • 数据库字符集:utf8mb4 -- UTF-8 Unicode
  • 排序规则:utf8mb4_general_ci

多样的浏览器兼容

    <link href="http://cdn.staticfile.org/emoji/0.2.2/emoji.css" rel="stylesheet" type="text/css" />
    <script src="http://cdn.staticfile.org/jquery/2.1.0/jquery.min.js"></script>
    <script src="http://cdn.staticfile.org/emoji/0.2.2/emoji.js"></script>



    var $text = $('.emojstext');
    var html = $text.html().trim().replace(/\n/g, '<br/>');
    $text.html(jEmoji.unifiedToHTML(html));
0%