表情符号未正确编码为输出编写器

时间:2015-06-16 22:28:44

标签: java json utf-8 emoji

该程序会发表评论并坚持下去。数据库正确存储了值。(我可以将其复制并粘贴到表情符号页面中,并且显示正确)。我在postComment请求和getAllComments响应中的调试器中看到的字符串是相同的,但它发送{0xED,0xA0,0xBD,0xED,0xB8,0x80}而不是{0xF0,0x9F,0x98,0x80}并显示如果我将编码设置为UnicodeBig,表情符号会显示在响应中,但我们需要使用UTF-8

#!/usr/bin/python2.7

import threading

# Register a signal handler to exit gracefully
def exit_gracefully():
    print 'Exiting ...'

import atexit
atexit.register(exit_gracefully)

在系统编码为utf8之前,我是否需要对这些字符串执行某些操作? 使用的库是

json-simple-1.1(当前为1.1.1) jackson-core-2.2.3(当前2.6)

谢谢。

1 个答案:

答案 0 :(得分:0)

这最终成为了Jetty 7的一个问题。为了解决这个问题,你可以只使用.getBytes(String),然后将字节写出来并刷新缓冲区。 Java将获得正确的字节,而不是编码代理对,这是Jetty默认执行的操作。