栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

android,UTF8-如何确保UTF8用于共享首选项

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

android,UTF8-如何确保UTF8用于共享首选项

关键是要了解UTF-8和Unipre之间的区别。

  • Java使用Unipre处理内存中的字符和字符串。每个字符存储在两个字节中。
  • 当文本在进程之间传输(例如,到Web服务器) 将文本写入磁盘 从磁盘读取时,内部表示形式将转换为在线格式。这是编码或解码。UTF-8是最受欢迎的,但是其他格式包括:
    • UTF-16
    • ISO 8859-1

在您的问题中,您提到XML文件是用utf-8编码的:很好,您将能够在文件中放入外来字符,但这 指定了 该特定XML文件 的编码。

这些XML文件将被编译为Android资源,并将包含正确的值(如果您愿意,可以在调试器中对其进行检查,或者通过保留构建链中的中间Java资源文件来对其进行检查)。

问题几乎可以肯定是在HTTP服务器上发送数据和从HTTP服务器接收数据的地方,特别是在网络上的字节与Java之间转换数据的地方

String
。当前,您尚未在请求中设置它-
可以按照Apache
HTTPClient文档中的说明进行设置。

尽管服务器可能已经/需要这样做,但是在请求中明确声明无疑是一件好事。

您还需要确保服务器(Rails 3中)的一个-如何处理PG错误不完整的多字节字符):

  • 期待UTF-8
  • 使用UTF-8解码器解码请求
  • 使用UTF-8编码对响应进行编码

(对不起,但是我不了解Ruby on Rails,所以我不知道该如何具体地提供帮助)。

回到Android端,您还需要确保HTTP库正在使用UTF-8解码器解码响应。如果您自己处理此问题,请确保您使用的String构造函数是该构造函数,并且参数为“
utf-8”:

  • 公共字符串(byte []数据,字符串charsetName)

一旦客户端和服务器都使用UTF-8,您的问题将得到解决。

为了帮助在这里调试,我建议:

  1. 服务器 客户端上的许多日志记录语句,它们输出尽可能接近HTTP代码的相关字符串
  2. 与配置为通过调试代理进行对话的客户端一起运行。检查请求和响应,并检查它们是否确实为UTF-8。代理包括:

    • 查尔斯
    • Web疤痕
    • 提琴手


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574420.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号