La solution pour PHP pour envoyer des URL chinoises tronquées basées sur la publication curl : confirmez d'abord l'encodage de l'URL ; puis utilisez curl pour ajouter un en-tête pour définir le jeu de caractères, le code est [$this_header = array ("charset= UTF-8")] .
PHP s'appuie sur curl post pour implémenter la solution d'envoi d'URL chinoises tronquées :
Les paramètres d'url de l'URL spécifiée envoyée, les caractères chinois sont toujours tronqués, l'URL spécifiée est codée en utf8 et ce que j'ai envoyé est également codé en utf8. Mais le code est toujours tronqué. J'ai d'abord utilisé file_get_contents, puis j'ai changé en curl et activé php_curl dans php.ini. J'ai ajouté header
et je l'ai finalement résolu. Le code est le suivant :
$url = 'http://'; //调用接口的平台服务地址 $post_string = array('a'=>'b'); $ch = curl_init(); $this_header = array( "content-type: application/x-www-form-urlencoded; charset=UTF-8" ); curl_setopt($ch,CURLOPT_HTTPHEADER,$this_header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $result = curl_exec($ch); if($result) echo "<script>\nalert(\"同步成功! \");\n</script>"; curl_close($ch);
Résumé : Pour résoudre ce genre de problème d'encodage, commencez par confirmer quel est l'encodage aux deux endroits. Deuxièmement, si l'encodage est le même, il peut être envoyé directement. Lorsque vous utilisez curl, vous devez ajouter un en-tête pour définir le jeu de caractères. Enfin, vérifiez davantage et essayez-en davantage. Si une méthode ne fonctionne pas, essayez-en une autre. Si cela ne fonctionne pas, repensez au problème depuis le début. . Vous pouvez toujours le résoudre.
Recommandations d'apprentissage associées : programmation php (vidéo)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!