2010-08-11 5 views
0

J'ai lu une chaîne avec encodage (windows-1256) mais les chiffres de cette chaîne ont été codés en utilisant (UTF-8) et par conséquent tout le texte sauf les nombres (codé avec utf-8) comme (?) ce qui est acceptable. mais je veux savoir comment puis-je lire le texte complet sans problème, comment puis-je savoir quand passer entre les encodages pour lire le texte correct.
REMARQUE: Les navigateurs affichent correctement ce type de texte afin qu'ils sachent quand ils doivent changerLire chaîne d'encodage mixte

Une solution ou un code?

+0

une chance que la chaîne d'origine lise (tout) bien comme utf8? –

+0

Non, je ne peux pas lire la chaîne encodée en utilisant utf8 car elle renvoie des caractères erronés en tant que cube;) la plus grande partie de la chaîne est windows-1256 et seuls les nombres sont UTF-8, donc je me demande comment le rendre avec succès – Ehsan

Répondre

0

La moitié inférieure de la page de codes de Windows-1256 est la même que ASCII. Les chiffres en UTF-8 sont également les mêmes qu'en ASCII - si vous lisez la chaîne avec l'encodage de windows-1256, cela devrait fonctionner correctement.

+1

À moins qu'ils ne soient des numéros [Eastern Arabic] (http://en.wikipedia.org/wiki/Eastern_Arabic_numerals). – dreamlax

+0

Oui c'est exactement les numéros arabes et si je les lis avec windows-1256 qui reviendraient (?) – Ehsan

+0

vous avez raison, mais les numéros arabes ont un code ASCII différent et le problème est la lecture du numéro arabe UTF8 avec windows-1256, je devrais en quelque sorte détecter numéros et les lire avec un encodage correct. – Ehsan