我è¼å¥
从MySql提取的Web服务(php)返回的文本乱码
现在,我正在尝试在Android中将其解码为utf-8,但无法正常工作
我努力了:
String s = "è¼å¥";// text returned by web service taking it as static for testing
1. 不工作:
String str = new String(s.getBytes(), "utf-8");
2. 不工作:
String normalized = Normalizer.normalize(str, Normalizer.Form.NFD);
// also tried NFC, NFKC, NFKD
// also tested by isNormalized its returning true
3. 不工作:
String str =URLDecoder.decode(s, "utf-8");
以上所有都给出相同的输出: è¼å¥
因此,请有人能帮助我了解我在做什么错吗?还是请提供其他选择?
任何帮助都感激不尽。谢谢
正如Stephen C很好地解释的那样,我遵循了所有这些步骤,但是几乎不需要其他更改:
1. 正如Stephen C解释的那样,我的服务器正在发送数据,Latin-1
encoding
因此我必须使用ISO8859_1
charset
2. 我正在尝试String str = new String(s.getBytes(), "utf-8");
这将不适用于Latin-1 encoded
数据!
所以为此,我必须将charset
(针对我的情况 ISO8859_1
)数据设置为getBytes(" ISO8859_1")
所以现在工作正常
String str = new String(s.getBytes("ISO-8859-1"), "utf-8");
注意第二个参数是新字符串的字符集,以便it must be utf-8
显示原始文本
我遇到了奇怪的问题时,铸造小数到双倍。 以下代码返回true: 但是,当我将其强制转换为双倍时,它返回false: 这是记录在案的行为吗?当我被迫将decimal转换为Double时,我如何避免它? Visual Studio的截图: 将Math.round铸造为双倍me,结果如下: null 不幸的是,我不能在较小的项目中重现这个问题。我想埃里克的回答解释了原因。
问题内容: 我收到一个非常奇怪的错误。我有2个活动。在这两者上,我通过 调用每个活动来获得使用(如果重要) 在此工作正常。但是当我尝试主要活动时,我得到了 我确保我不会使用相同的键在中间放置某个地方 有任何想法吗? 谢谢! 编辑:一些代码: 如果很重要,则引发异常的代码在按钮的内部 问题答案: 如果该键曾经有一个字符串,即使是偶然,它也将保留在那里,直到您清除应用程序的数据或将其卸载。尝试将其卸载
问题内容: 令人难以置信。为什么输出-124? 问题答案: 在Java中,an 是32位。A 是8 。 最原始的类型Java中的签名,,,,和long被编码在二进制补码。(类型为unsigned,并且sign的概念不适用于。) 在此数字方案中,最高有效位指定数字的符号。如果需要更多位,则将最高有效位(“ MSB”)简单复制到新的MSB中。 因此,如果你具有 并将其表示为 32位,则只需将1复制到左
我发现了许多使用RTFEditorKit的“如何RTF->纯文本”,但没有一个“纯文本->RTF”。我不会手动完成,因为在我的例子中,我们必须将128以上的所有字符转换为十六进制字符串才能获得正确的RTF文件。我想在某个图书馆做这件事。 我正在尝试用RTFeditorKit来完成: 但不能将纯文本读入文档对象。
问题内容: 我需要将文本文件转换为String,最后,我应该将其作为输入参数(类型InputStream)放入IFile.create(Eclipse)。寻找示例或方法,但仍然不知道…需要您的帮助! 只是为了测试,我确实尝试将原始文本文件转换为使用此代码编码的UTF-8 但即使以为最终的* .test.txt文件具有UTF-8编码,里面的字符也已损坏。 问题答案: 您需要使用参数指定的编码。 这也
我有一个oracle DB,根据我们的DB管理,没有设置格式,但是当我们将数据导出到文本文件时,它是以utf-8的形式出现的 谁能帮我把这些文本文件转换成Unicode码吗