如何在javascript/jquery中打印unicode表情符号
我正在使用Javascript/jQuery、PHP和WebSocket创建一个聊天室。我想支持Unicode表情符号。我有一个带有表情符号的DIV,当用户点击其中一个时,表情符号就会插入到输入框中。简单 用户按下“回车”键,文本被发送到PHP。但是PHP不能理解这个表情(显示“?”),所以我用Javascript做了一个函数,在提交到PHP之前将其转换成\uxxx格式(4字节) 例如:如何在javascript/jquery中打印unicode表情符号,javascript,php,jquery,unicode,emoticons,Javascript,Php,Jquery,Unicode,Emoticons,我正在使用Javascript/jQuery、PHP和WebSocket创建一个聊天室。我想支持Unicode表情符号。我有一个带有表情符号的DIV,当用户点击其中一个时,表情符号就会插入到输入框中。简单 用户按下“回车”键,文本被发送到PHP。但是PHP不能理解这个表情(显示“?”),所以我用Javascript做了一个函数,在提交到PHP之前将其转换成\uxxx格式(4字节) 例如: 1) 用户提交“test找到了解决方案,感谢@cegfault idea 将字符串发送到JSON.parse
1) 用户提交“test找到了解决方案,感谢@cegfault idea 将字符串发送到
JSON.parse
函数,它将正确显示表情。但我必须将字符串转义为JSON格式
$('#chat').append(JSON.parse('"'+d+'"'));
另一种不太安全的方法是相同的想法,但在引号之间使用
eval()
函数。jquery$(…).append('test\uD83D\uDE00test')
和vanilla js[…]“InnHTML+= 'Test\UD83\UDE00 Test')似乎工作得很恰当。这似乎是我在网络上的一种翻译。也就是说,无论从WebSoCo中得到什么,都认为字符串需要“文字<代码>”和“<代码> u”等。您可能需要考虑一些类似JSON编码和解码的方法,或者其他一些编码方法。解码以防止这个问题(在网络翻译的其他随机问题中)是的@cegfault,我同意,但我也做了一些测试…如果我只使用console.log()打印字符串,websocket将正确返回。但是你给了我一个好主意,使用Json函数处理字符串。我现在就试试。