Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getText.toString()将符号更改为Unicode_Java_Android_Retrofit_Tostring_Symbols - Fatal编程技术网

Java getText.toString()将符号更改为Unicode

Java getText.toString()将符号更改为Unicode,java,android,retrofit,tostring,symbols,Java,Android,Retrofit,Tostring,Symbols,我的应用程序中有一个edittext字段,最终用户在其中输入他们的电子邮件进行登录 当我使用getText.toString()获取字段值时,@符号会自动转换为%40,并将传递的值断开到POST请求 我想我错过了一些简单的停止自动转换的方法。 我看问题出在你身上 @Field(encoded = false, value = "username") String username post请求参数根据内容类型标头进行编码。您应该将内容类型设置为“text/html”,以防止编码 或者,您也可以

我的应用程序中有一个edittext字段,最终用户在其中输入他们的电子邮件进行登录

当我使用getText.toString()获取字段值时,@符号会自动转换为%40,并将传递的值断开到POST请求

我想我错过了一些简单的停止自动转换的方法。 我看问题出在你身上

@Field(encoded = false, value = "username") String username

post请求参数根据内容类型标头进行编码。您应该将内容类型设置为“text/html”,以防止编码

或者,您也可以使用下面的代码对值进行解码

String result = java.net.URLDecoder.decode(receivedStringValue, "UTF-8");

由于服务器实际要求该字段为“电子邮件”,因此在我按照下面的说明更改了Retro Fit时工作正常

//changed value = "username" to value = "email"
@Field(encoded = false, value = "email") String username

我认为,问题在于复古修身。我正在使用@Field(encoded=false,value=“username”)字符串username,但它仍在编码中。好的,应该已将值“username”更改为“email”,因为服务器需要将参数作为“email”传递。。在这之后开始正常工作。