Java Android、Foursquare和— 性格

Java Android、Foursquare和— 性格,java,android,unicode,utf-8,foursquare,Java,Android,Unicode,Utf 8,Foursquare,当发送—到foursquare,显示为?在他们的网站上,而不是长破折号。它在Android应用程序中显示良好(我使用\u2014显示),但在foursquare网站上显示不出来。我知道网站可以处理符号,因为我可以在网站上编辑时添加符号。事实上,该站点似乎正在使用\u2014呈现它。因此,从将其发送到服务器,然后重新呈现到页面时,就发生了一些事情。非常感谢您的帮助 我使用以下方法添加破折号: mDetailPlaceholder.setText("\u2014 at " + mVenue

当发送
到foursquare,显示为?在他们的网站上,而不是长破折号。它在Android应用程序中显示良好(我使用\u2014显示),但在foursquare网站上显示不出来。我知道网站可以处理符号,因为我可以在网站上编辑时添加符号。事实上,该站点似乎正在使用\u2014呈现它。因此,从将其发送到服务器,然后重新呈现到页面时,就发生了一些事情。非常感谢您的帮助

我使用以下方法添加破折号:

mDetailPlaceholder.setText("\u2014 at " + mVenueName);
然后我将字符串传递给foursquare API,如下所示:

String shout = mDetailText.getText().toString() + " " + mDetailPlaceholder.getText().toString();

可能是使用toString()时unicode丢失了,因此发送了原始破折号。

在发送到foursquare服务器之前,必须将编码样式设置为utf-8:

    req.setEntity(new UrlEncodedFormEntity(params, "utf-8"));

。。。其中req是一个HttpPost对象,params是一个List对象。

到目前为止,我已经尝试过:直接向字符串添加
\u2014
。我还尝试将文件保存为utf-8,并将-直接添加到字符串中。仍然无法在foursquare上正确渲染。