2010-01-25 7 views
4

J'essaie d'insérer des caractères comme ä, á, ó, í, â, etc. dans le corps du message d'Amazon SQS. Mais ces caractères sont convertis à d'autres caractères dans SQS (par exemple, ¤). Y a-t-il un moyen de résoudre ce problème?Problème de codage de caractères Amazon SQS

Merci

Répondre

2

Merci pour les réponses. Je pense que la meilleure façon de surmonter ce problème est de stocker le corps du message dans AmazonSQS au format HTML-ENTITIES. Donc, avant de stocker le message, je l'encoder au format HTML_ENTITIES en utilisant la méthode php mb_convert_encoding(string $str, string $to_encoding [,mixed $from_encoding]).

Si quelqu'un a une meilleure solution, n'hésitez pas à ajouter vos commentaires.

Merci

+0

Utilisez [Base64] (http://php.net/manual/fr/function.base64-encode.php) –

1

Cela est probablement dû à un problème de caractère encodage dans votre code. Un article hautement recommandé sur ce sujet est The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) de Joel.

Il semble que vos caractères soient codés en UTF-8 quelque part et que l'opération de décodage UTF-8 correspondante ne soit pas effectuée comme prévu.

+0

Je ne pense pas, parce que quand je fais écho à la chaîne de message il semble bien. Les caractères changent seulement quand il va dans AmazonSQS. Merci – kobra

+0

Lorsque vous «répercutez» les données sur une page HTML, votre * navigateur * décode probablement les données encodées en UTF-8 et affiche les données correctement comme prévu. Lorsque vous travaillez avec des données codées (comme c'est la norme de nos jours), il y a toujours beaucoup de couches de traduction en cours et cela nécessite généralement des recherches pour savoir ce qui se passe vraiment. –

0

j'ai vu que cela a été résolu à onlinemq mais existent encore dans SQS