好的,所以表情符号基本上在计算机上显示了上述内容。那是另一种编程语言吗?那么如何将这些小盒子放入一个 php 文件中呢?当我把它放到一个php文件中时,它变成了问号,什么不是。另外,我怎样才能将这些存储在 MySQL 中而不变成问号和其他奇怪的东西?
这与编程语言无关,仅与编码和字体有关。作为一个非常简短的概述:每个字符都由其字符代码存储(例如:0x41 = A、0x42 = B 等),使用字体在屏幕上呈现为有意义的字符(即“带有代码的字符0x41 应该看起来像这样......”)。
这些表情符号占据了Unicode表的“私人使用区域”,这是一系列未定义的代码,任何人都可以免费使用。这使它们成为完全有效的字符代码,只是没有标准字体有合适的字符为它们显示,因为它们是未定义的。只有 iPhone 和其他手持设备(主要在日本)具有这些代码的适当图标。这样做是为了节省带宽;可以使用单个字符代码来传输表情符号,而不是来回传输相对较大的图像文件。
至于如何存储它们:它们应该可以按原样存储,只要您不尝试将它们转换为另一种编码,在这种情况下它们可能会丢失。请注意,它们仅适用于日本的 iPhone 和其他 SoftBank 手机。
字符查看器 http://img.skitch.com/20091110-e7nkuqbjrisabrdipk96p4yt59.png
如果您在 OSX 上,您可以将字符复制并粘贴到字符查看器中以找出它是什么。我认为在 Windows 上有一个类似的字符映射(虽然较差;-P)。你可以把它放在 PHP 中ord()
,但这仅适用于 ASCII 字符。请参阅ord
页面上有关 UTF8 函数的讨论。
顺便说一句,只是为了好玩,这些字符在 iPhone 上可以正常显示,因为 iPhone 有一种带有图标的字体:
iPhone http://img.skitch.com/20091110-bjt3tutjxad1kw4p9uhem5jhnk.png
我正在使用 FF3.5 和 WinXP。我在浏览器中也看到了小框。
这告诉我该字符串需要我的计算机上未安装的字符集。
当您将字符串放入 PHP 文件时,问号告诉您同样的事情:您的计算机不知道如何显示字符。
如果您对它们进行不同的编码,您可以将这些表情符号存储在 MySQL 中,可能使用 UTF-8。
对字符编码进行网络搜索,因为它与 MySQL 有关。