我对apache httpClient进行了如下配置:
HttpProtocolParams.setContentCharset(httpParameters, "UTF-8");
HttpProtocolParams.setHttpElementCharset(httpParameters, "UTF-8");
我还为所有http post和put请求包含了http头文件"Content-Type: application/json;charset=UTF-8“。
我正在尝试使用包含特殊字符的json正文发送http post/put请求。通过Google拼音键盘、符号等输入中文字符)这些字符在日志中显示为胡言乱语,但我认为这是因为DDMS不支持UTF-8,如this问题所述。
问题是当服务器收到请求时,它有时根本看不到字符(特别是中文字符),或者当我们通过GET请求检索它时,它变成了毫无意义的垃圾。
我还尝试在单个字段中放置250个非ascii字符,因为该特定字段最多可以包含250个字符。但是,它无法在服务器端进行验证,因为服务器端声称已超过250个字符的限制。250个ASCII字符可以很好地工作。
服务端的家伙们声称他们支持UTF-8。他们甚至尝试模拟一个包含中文字符的post请求,服务器可以很好地接收数据。然而,这个人(一个中国人)使用的是一台安装了中文语言包的Windows计算机(我想,因为他可以在键盘上输入中文字符)。
我猜Android客户端和服务器(由中国人制造)使用的字符集是不一致的。但我不知道哪一个是错误的,因为服务器的家伙们声称他们支持UTF-8,而我们的rest客户端被配置为支持UTF-8。
这让我想知道Android在所有文本输入中默认使用什么字符集,是否可以通过编程将其更改为不同的字符集。我试图找到关于如何在输入小部件上做到这一点的资源,但我没有找到任何有用的东西。
有没有办法为Android中的所有输入小部件设置字符集?或者也许我在rest客户端配置中遗漏了一些东西?或者,仅仅是可能,服务器的家伙没有在他们的服务器上使用UTF-8,而是使用Windows字符集?
https://stackoverflow.com/questions/6227747
复制相似问题