gpt4 book ai didi

java - Android JSON 与 PHP,带重音的字符未正确处理

转载 作者:行者123 更新时间:2023-12-01 05:02:49 29 4
gpt4 key购买 nike

简而言之,当将字符串从我的 Android 应用程序发送到 php 并使用 JSON 对其进行解码时,法语字符会造成麻烦。这是我在 Android 应用程序 (Java) 中所做的事情

    HttpPost httppost = new HttpPost(//my server and filename);

try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);

nameValuePairs.add(new BasicNameValuePair("payload", jsonObj.toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
}....

这是我的 php 代码

$_POST['payload'] = stripslashes($_POST['payload']); 
$payload = $_POST['payload'];
error_log(" $payload ", 0);
$payloadObj = json_decode($payload);
error_log(" $payloadObj ", 0);

当使用英文字母时,一切都很完美,但是,当我用重音法语字母时,它就不起作用了。我插入了上面的错误日志来查看我得到的内容,我注意到对于法文字母,有效负载将法文字母显示为 � 并且payloadObj是空的,所以我猜解码失败。

请帮帮我,问题到底发生在哪里(在什么阶段)?怎么解决呢?

最佳答案

您是否尝试使用 iconv() 修复它?

//$payload = $_POST['payload'];
$payload = (isset($_POST['payload'])) ? iconv("UTF-8","UTF-8//IGNORE",$_POST['payload']) ? '';
error_log(" $payload ", 0);
$payloadObj = json_decode($payload);
error_log(" $payloadObj ", 0);

关于java - Android JSON 与 PHP,带重音的字符未正确处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170512/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com