web-dev-qa-db-fra.com

Comment définir le jeu de caractères pour la requête wp_remote_post?

J'utilise wp_remote_post() sur un projet et cela fonctionne très bien. Mais il me semble que le serveur sur lequel je dois effectuer la demande POST est un serveur Windows (ISS). Par conséquent, le service tiers qui fournit ce noeud final spécifique nécessite que toutes les POST requêtes aient un codage de caractères Windows-1252 , sinon des problèmes surviendront avec des caractères spéciaux (tels que á, é, û, etc).

J'ai fait des recherches et il me semble que la meilleure solution consiste à définir un en-tête HTTP Content-Type incluant un jeu de caractères (comme charset=Windows-1252). J'ai essayé d'ajouter le jeu de caractères avec le type de contenu (comme application/x-www-form-urlencoded;charset=Windows-1252), mais rien ne semble fonctionner.

Quelqu'un sait-il comment définir correctement le jeu de caractères pour une requête HTTP POST à l'aide de wp_remote_post()?

Merci d'avance!

2
Diego de Oliveira

Après avoir essayé plusieurs fois de définir le bon jeu de caractères, je n'ai pas réussi. Ensuite, j'ai cherché une solution de contournement et en ai trouvé une qui fonctionne avec mon problème.

En plus de définir le jeu de caractères comme je l'ai mentionné ci-dessus, ce que j'ai fait est de convertir toutes les chaînes de mon corps POST avec cet extrait php:

$message = @iconv("UTF-8","Windows-1252//IGNORE",$message);

Ceci convertit tous vos caractères en chaînes compatibles Windows-1252. Pour moi, cela a fonctionné et tous les caractères spéciaux sont correctement reconnaissables sur le serveur ISS.

2
Diego de Oliveira