java - Android、Foursquare 和 —特点

标签 java android unicode utf-8 foursquare

发送到 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 对象。

关于java - Android、Foursquare 和 —特点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25539064/

相关文章:

android - 慢速 Espresso

Java如何用字符串中的单个空格替换2个或多个空格并删除前导和尾随空格

java - 关于java中的Marker接口(interface)

android - 如何在不填充孔的情况下填充包含孔的 Android 路径?

php - 存储其中包含 unicode 字符的字符串

javascript - 如何使用 Unicode Hexadecimal 更改 css 样式

c++ - 如何将使用 tchar.h 处理 unicode 的 Windows C++ 移植到 iOS 应用程序

java - 超过锁定等待超时;尝试在 spring_Hibernate_Mysql 中重启事务

java - 如何将 Spring MockMVC 与自定义 Spring Security WebSecurityConfigurerAdapter 结合使用

iphone - 有多少安卓应用程序是开源的?