【问题标题】:Android, Foursquare and the & #8212; characterAndroid、Foursquare 和 —特点
【发布时间】:2014-10-21 17:47:14
【问题描述】:

— 发送到foursquare 时,它​​显示为?在他们的网站上,而不是 -,长破折号。它在 Android 应用程序中看起来很好(我使用 \u2014 显示它),但在foursquare 网站上却没有。我知道该站点可以处理该符号,因为我可以在站点上进行编辑时添加它。事实上,该网站似乎使用 \u2014 渲染它。所以从它被发送到服务器然后在页面上呈现的时候就发生了一些事情。非常感谢任何帮助。

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

mDetailPlaceholder.setText("\u2014 at " + mVenueName);

然后我将字符串传递给foursquare API,如下所示:

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

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

【问题讨论】:

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

标签: java android unicode utf-8 foursquare


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    相关资源
    最近更新 更多