在阅读了有关表情符号的所有主题之后,我有必要寻求帮助.问题似乎几乎相同:我有一个iPhone应用程序通过PHP表情符号发送到MySQL数据库,我可以看到记录上的一些符号,例如"伞"和"云",但其他没有(愤怒的脸,笑脸,和其他).
为什么有些是和其他没有?
PHP设置:
mysql_query("SET CHARACTER SET utf8mb4");
mysql_query("SET NAMES utf8mb4");
Run Code Online (Sandbox Code Playgroud)
记录中未显示的符号显示为问号"?"
在网上搜索了几个小时后,我没有得到任何解决方案来解决以下问题:
我正在创建一个新的iOS应用程序,它能够在Unicode字符表中显示现有的表情符号.现在我也希望能够创建和显示自定义表情符号字符,但我应该如何使用Unicode映射?
是否可以使用Unicode在iOS应用程序中使用和显示自定义表情符号?我该怎么办呢?
我试图用推文制作图像,但其中一些包含Emojis.我正在使用PIL渲染我的图像和Symbola字体.
文本采用unicode utf-8编码,Symbola字体包含表情符号.这是代码的删节版本:
from PIL import Image, ImageFont, ImageDraw
text = u"\U0001f300" #CYCLONE emoji
image = Image.new("RGBA", (100,100), (255,255,255))
font = ImageFont.truetype("Symbola.ttf", 60, encoding='unic')
draw = ImageDraw.Draw(image)
draw.text((0,0), text, (0,0,0), font=font)
image.save("Test.png")
image.show()
Run Code Online (Sandbox Code Playgroud)
这只是渲染和图像有两个矩形而不是表情符号
将不胜感激任何帮助或想法.
谢谢!
编辑:正如falsetru所指出的,这段代码确实在Ubuntu中运行,但它不能在Windows或Mac上运行.有任何想法吗?
你好Stackoverflow - 我要问的更清楚,我会详细说明.
我在旋转变换中使用以下符号:☎和♦和✔
(☎ and ♦ and ✔ respectively).
在我的Android设备上(智能手机,LG G4),它将这些文本符号替换为不使用我的转换或字体大小样式格式化的非文本图片表情符号.
我想强制浏览器使用我在我的网站上提供的字体中的常规符号(使用包含.ttf文件的@ font-face).在桌面上,我没有任何问题按预期显示我选择的符号.
非常感谢您的帮助,因为我不想被迫用图像替代我的文字排列.谢谢.
我正在尝试解析传入的字符串以确定它是否包含任何非emojis.
我已经阅读了Mathias的这篇精彩文章,并且正在利用本机punycode编码/解码和regenerate正则表达式生成.我也在用EmojiData来获取我的表情符号字典.
尽管如此,某些表情符号仍然是讨厌的小虫子并拒绝匹配.对于某些表情符号,我继续获得一对代码点.
// Example of a single code point:
console.log(punycode.ucs2.decode(''));
>> [ 128169 ]
// Example of a paired code point:
console.log(punycode.ucs2.decode('??'));
>> [ 8987, 65039 ]
Run Code Online (Sandbox Code Playgroud)
Mathias在他的文章中触及了这一点(并给出了一个解决这个问题的punycode的例子)但是即使使用他的例子我得到的答案也是错误的:
function countSymbols(string) {
return punycode.ucs2.decode(string).length;
}
console.log(countSymbols(''));
>> 1
console.log(countSymbols('??'));
>> 2
Run Code Online (Sandbox Code Playgroud)
检测字符串是否包含所有表情符号的最佳方法是什么?这是为了概念验证,因此解决方案可以根据需要进行强力实施.
---更新---
上面我讨厌的表情符号的更多背景.
这些在视觉上是相同的,但实际上是不同的unicode值(第二个来自上面的例子):
? // \u231b
?? // \u231b\ufe0f
Run Code Online (Sandbox Code Playgroud)
第一个很好,第二个不好.不幸的是,第二个版本是iOS似乎使用的(如果你从iMessage复制和粘贴你获得第二个版本,当从Twilio接收文本时,同样的事情).
我正在开发J2SE中的聊天应用程序,它也可以向其他用户发送表情符号.
应用程序使用https://github.com/vdurmont/emoji-java(Vdurmont Emoji-java-2.1 jar),
我跟着该链路上任何一个所描述的所有的事情,所有正在运行的开发环境中正常,但当我做罐子一样的,当我发送表情符号在网络上的其他用户的,则显示的代码(ðŸ~¡和?).
首先,我认为这是一个从文件夹加载文件的问题,所以使用ClassLoader,以获得正确的图像,但在创建jar时它显示?(问号),所以我删除了该代码,以便更好地理解你.
代码如下:
public ChatUI() {
initComponents();
this.setLayout(new WrapLayout(FlowLayout.LEFT, 5, 5));
for (int i = 0; i < imageHexaCode.length; i++)
{
final javax.swing.JLabel imogis = new javax.swing.JLabel("&#x" + imageHexaCode[i] + ";");
imogis.setCursor(new Cursor(Cursor.HAND_CURSOR));
imogis.setIcon(new javax.swing.ImageIcon(getClass().getResource("emoji_" + imageHexaCode[i] + ".png")));
imogis.setHorizontalTextPosition(JLabel.CENTER);
imogis.setVerticalTextPosition(JLabel.BOTTOM);
imogis.setFont(new Font(null, Font.PLAIN, 1));
imogis.setForeground(Color.white);
final int aa = i;
imogis.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JLabel jl = new JLabel("&#x" + imageHexaCode[aa] + ";");
jl.setName("&#x" + imageHexaCode[aa] + ";"); …Run Code Online (Sandbox Code Playgroud) 我想以编程方式隐藏键盘上的表情符号和自动建议.它适用于某些Android设备,但不适用于所有设备.这是隐藏自动建议的代码:
txtSingupemail.setInputType(InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS
|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
txtSignuppwd.setInputType(InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_VARIATION_PASSWORD);
txtSignuppwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)
这是我的UI的快照:
这是用户单击signIn按钮时的布局.当用户点击标记为红色的左下角图标时,由于表情符号作为建议,键盘高度会增加.
见下面的快照:
有没有办法以编程方式隐藏键盘上的那些顶级表情符号?
我正在开发一个Rails应用程序,用户可以将照片上传到他们的个人资料中.每张照片都有一个标题,应该支持表情符号.尽管将表的编码更改为utf8mb4并修改database.yml,但当我尝试在其标题中保存带有表情符号的照片时,MySQL会返回错误"错误的字符串值".
该应用程序正在使用Ruby 2.3.0开发Rails 5.0.0.1,MySQL正在使用5.7.16版本.
迁移文件:
class CreateUserPhotos < ActiveRecord::Migration[5.0]
def change
create_table :user_photos do |t|
t.string :title
t.string :filename, null: false
t.integer :visibility, null: false, default: 0
t.belongs_to :user, foreign_key: true, index: true
t.timestamps
end
reversible do |dir|
dir.up do
execute "ALTER TABLE `user_photos` CHANGE `title` `title` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
end
dir.down do
execute "ALTER TABLE `user_photos` CHANGE `title` `title` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci;"
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
database.yml文件:
production:
adapter: …Run Code Online (Sandbox Code Playgroud) 我希望在使用SQL Lite的文本对话中确定哪些表情符号最常用.我正在使用数据库浏览器,表情符号就像在iMessage中一样显示(见下图),但我对如何计算它们感到难过.
我在想是否有办法检查并查看字符是不是字母/数字/标点符号,然后我可以计算所有不符合先决条件列表的字符的频率.也就是说,我不熟悉SQLite命令以及如何实现这一点.
有没有更好的方法来解决这个问题?如果您需要更多背景来回答这个问题,请告诉我.
我正在我的应用程序中实现新的EmojiCompat。现在我遇到以下问题,不知道如何解决:
以下代码由EmojiCompat呈现,但Emoji呈现为半透明:
<android.support.text.emoji.widget.EmojiTextView
android:textAlignment="center"
android:text=""
android:textSize="100dp"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
我的设备上呈现的XML文件的屏幕截图:
布局检查说: alpha: 1.0
如何修复TextView以使其完全不透明?
表情符号兼容版本: com.android.support:support-emoji:27.1.+