2010-10-19 6 views
0

J'utilise une API qui traite mes fichiers et présente une sortie optimisée, mais certains caractères spéciaux ne sont pas conservés, par exemple:du codage des caractères Problème

Entrée: äöü

Sortie: äöü

Comment puis-je réparer ça? Quel codage devrais-je utiliser?

Un grand merci pour votre aide!

+0

Veuillez spécifier la langue. –

+0

Entrée: CSS; Sortie: JSON – 3zzy

+0

Ce n'est pas une question de programmation? –

Répondre

0

Cela dépend vraiment du traitement que vous avez effectué pour vos données. Mais en général, une technique puissante est de le convertir en UTF-8 par Iconv, par exemple, et de le passer par des API ou des fonctions compatibles ASCII. En général, si ces fonctions ne gâchent pas avec des données qu'ils ne comprennent pas comme ASCII, alors l'UTF-8 est préservé - c'est une belle propriété de UTF-8.

0

Je ne suis pas sûr de ce que la langue que vous utilisez, mais des choses comme cela se produit quand il y a un décalage entre l'encodage du contenu lors de la saisie et l'encodage du contenu lorsqu'il est lu.

Ainsi, vous pouvez vouloir spécifier exactement quel encodage pour lire les données. Vous devrez peut-être jouer avec l'encodage réel que vous devez utiliser

string.getBytes("UTF-8") 
string.getBytes("UTF-16") 
string.getBytes("UTF-16LE") 
string.getBytes("UTF-16BE") 
etc... 

En outre, faire des recherches sur le système où ces données vient. Par exemple, les services Web d'ASP.NET fournissent le contenu sous la forme UTF-16LE, mais Java utilise le codage UTF-16BE. Lorsque ces deux systèmes se parlent avec des caractères étendus, ils peuvent ne pas se comprendre exactement de la même manière.