表情符号和Web应用程序






4.82/5 (9投票s)
Emoji 是日语中象形文字或表情符号的术语,主要用于日本电子消息和网页。
在几个月没写博客后,我回来了。 你听说过 “Emoji” 吗?
Emoji 是日语中象形文字或表情符号的术语,主要用于日本电子消息和网页。 这些小图像正开始越来越多地出现在日本以外的地方。 Emoji 最初的意思是象形文字,字面意思是“图片”(e) +“字母”(moji)。
参考: http://en.wikipedia.org/wiki/Emoji
如果你想知道 emoji 的含义,请查看以下备忘单
http://www.emoji-cheat-sheet.com/
尽管最初只在日本可用,但一些 emoji 字符集已被纳入 Unicode (2010 年的 Unicode 6.0),允许它们在其他地方使用。 截至 Unicode 6.0,核心 emoji 集包含 722 个字符。
- http://www.unicode.org/charts/PDF/U1F300.pdf
- http://www.unicode.org/charts/PDF/U1F600.pdf
- http://www.unicode.org/charts/PDF/U1F680.pdf
- http://www.unicode.org/charts/PDF/U2600.pdf
更新的 iOS、Android、Windows 8 和 OS X(Mountain Lion +)原生显示 Emoji,而与字体无关。 但是我们如何在所有其他桌面和 Web 应用程序上显示它呢? 当你使用不支持的设备或浏览器查看 Emoji 时,Emoji 会显示为正方形或外文文本。 你可以将其转换为可查看的格式,只需将其粘贴到上面的框中,然后在预览中查看即可。
有几个开源 JavaScript 库和项目支持这一点。 最全面的是 Github 的 Gemoji 项目。
以下是一些其他不错的项目和脚本
有关 Emoji Unicode 表格的更多信息,请查看以下 URL: http://apps.timwhitlock.info/emoji/tables/unicode
Emoji 和数据库
Emoji 是 UTF-8 编码的符号。 因此,要将 Emoji 保存到数据库中,你的数据库列应支持 UTF-8 编码。
Emoji 和 MySQL
要在 MySQL 中存储 Emoji,你必须修改表字符集以支持 UTF-8。 请记住,从 iOS5 开始,Emoji 表示为 4 字节字符。 这意味着你的 MySQL 表字符集应设置为 utf8mb4。(iOS Emoji 的早期版本可以使用 utf8 字符集很好地工作)。 utf8mb4 支持取决于你使用的 MySQL 版本。 正确配置后,MySQL 5.5+ 可以很好地处理 4 字节字符。
create table MyEmoji (emojicolumn VARCHAR(255) CHARACTER SET utf8mb4) default character set utf8mb4;
确保以下内容:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<?php
header('Content-type: text/html; charset=utf-8');
?>
- 你的数据库表字符集为:utf8mb4
- 你的 PHP 应用程序字符集为:UTF-8
- 在应用程序数据库连接中,字符集为:utf8mb4
Emoji 和 MSSQL
SQL Server 默认不支持 UTF-8。 但是,它支持 UCS2 来存储 Unicode 字符。(UCS2 通常是 UTF-16)。 SQL Server 会自动处理 UTF-8 转换。 但是,请记住,MS SQL VARCHAR 列类型不支持此功能。 你必须使用 NVARCHAR 列类型来代替它。 然后,在 SQL Server 中处理 Unicode 字符串常量时,必须在所有 Unicode 字符串前面加上前缀 N
更多信息: http://support.microsoft.com/kb/239530
CREATE TABLE [dbo].[MyEmoji](
[EmojiColumn] [nvarchar](255) NULL
)
INSERT INTO MyEmoji (EmojiColumn) VALUES (N'EncodedString'
确保以下内容:
- 你的数据库表列为:nvarchar
- 你正在通过在编码字符串前面添加 N 来发送 Unicode 数据
如何在 iOS 和 Android 中启用 Emoji 键盘
- iPhone – http://support.apple.com/kb/ht4976
- Android – http://anewdomain.net/2013/09/25/enable-emoji-keyboard-in-android-4-1-higher/