在Coldfusion和Java中编码不同

在Coldfusion和Java中编码不同,java,android,coldfusion,coldfusion-10,Java,Android,Coldfusion,Coldfusion 10,当我用charsetUTF-8编码字符串时,它在Java和ColdFusion中给出了不同的结果 要编码的字符串: ONE TWO`< newline >`THREE FOUR ONE+TWO%0ATHREE+FOUR ONE%20TWO%0D%0ATHREE%20FOUR 导致冷融合: ONE TWO`< newline >`THREE FOUR ONE+TWO%0ATHREE+FOUR ONE%20TWO%0D%0ATHR

当我用charset
UTF-8
编码字符串时,它在Java和ColdFusion中给出了不同的结果

要编码的字符串:

   ONE TWO`< newline >`THREE FOUR
   ONE+TWO%0ATHREE+FOUR
   ONE%20TWO%0D%0ATHREE%20FOUR
导致冷融合:

   ONE TWO`< newline >`THREE FOUR
   ONE+TWO%0ATHREE+FOUR
   ONE%20TWO%0D%0ATHREE%20FOUR
我认为
UTF-8
定义了一个标准,每项技术在使用
UTF-8
编码/解码时都遵循这个标准。但事实似乎并非如此。我应该依靠哪个角色

编辑: 对字符串进行编码的ColdFusion代码:

<cfset encodedString = URLEncodedFormat(str,"UTF-8")>

您的问题与utf-8无关。因为这里只有普通的ascii字符

您正在做的是URL编码,确实有多个版本

在HTTP查询字符串中,空格编码为
+

空间编码的百分比
%
%20

有时你可以使用任何一种编码,有时你不能。。。通常,在我的经验中,对空格使用
+
,就像Android类那样,更兼容。因为有很多破译的代码无法正确解码


说得好,android支持UTF-8编码吗?它可能在任何地方都使用UTF-8字符串,就像Java一样。请注意,UTF-8只在使用非英语字符时才起作用。对于7位ASCII字符,UTF-8==ASCII。在WebView中处理多语言文本时出现了一些问题,无论如何,谢谢。但是如果您看到我的编辑,我在coldfusion和java中都使用URLEncoding。仍然得到不同的结果。是否有一种标准编码在所有技术上都可以使用?是否您的coldfusion是windows?android是基于linux的。因此,在您的窗口上是
\r\n
=>urlencoded
%0D%0A
。在android上,newline只是
\n
=>urlencoded
%0A
一种机制使用百分比编码,另一种机制使用
application/x-www-form-urlencoded
编码。@Fuselchen是的,你是对的。但是有没有一个我可以信赖的标准呢?我如何通过Coldfusion服务器和android应用程序发送/接收数据?