Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Encoding paypal ipn错误编码问题_Encoding_Paypal_Paypal Ipn - Fatal编程技术网

Encoding paypal ipn错误编码问题

Encoding paypal ipn错误编码问题,encoding,paypal,paypal-ipn,Encoding,Paypal,Paypal Ipn,我对paypal的ipn有问题。我向他们发送utf-8编码的数据(例如,“Naročilošt”作为项目名称),当有人付款时,他们会向我发送格式错误的响应:“Naro”�~D�~米洛�~“E-t.”(响应声明是UTF-8编码的),然后当我尝试验证该支付时,我得到的是无效的 我曾尝试更改paypal配置文件中的“购买按钮”编码,但它不起作用(我仍然收到错误编码字符的响应)。有人知道如何解决这个问题吗?我宁愿避免将项目名称转换为普通ascii或类似的格式 通过OP解决方案 据 当Servlet容器接

我对paypal的ipn有问题。我向他们发送utf-8编码的数据(例如,“Naročilošt”作为项目名称),当有人付款时,他们会向我发送格式错误的响应:“Naro”�~D�~米洛�~“E-t.”(响应声明是UTF-8编码的),然后当我尝试验证该支付时,我得到的是无效的

我曾尝试更改paypal配置文件中的“购买按钮”编码,但它不起作用(我仍然收到错误编码字符的响应)。有人知道如何解决这个问题吗?我宁愿避免将项目名称转换为普通ascii或类似的格式

通过OP解决方案

当Servlet容器接收到请求时,它总是将请求参数传递给以ISO-8859-1编码解码的程序。(例如,浏览器编码为UTF-8,但容器解码为ISO-8859-1。)因此,servlet或JSP将始终接收ISO-8859-1编码以外的字符的垃圾

因此,我的问题的解决方案是通过这种方式获取请求参数:

String value = request.getParameter("mytext");  
try{  
   value = new String(value.getBytes("8859_1"), "UTF-8");  
}catch(java.io.UnsupportedEncodingException e){  
   System.err.println(e);  
}