Je développe une application SMS en utilisant C# pour la banque qui envoie des alertes de transaction, c'est-à-dire des transactions ATM, au client par le biais de la passerelle SMS. L'application fonctionne bien, le seul problème est l'encodage du texte persan, il n'est pas encodé correctement.
Voici la méthode qui permet d'encoder le texte persan au format UTF-16.
public static string Endian2UTF(string s)
{
Encoding ui = Encoding.BigEndianUnicode;
Encoding u8 = Encoding.UTF8;
string str = u8.GetString(ui.GetBytes(s));
return str;
}
Certains caractères ne sont pas encodés correctement, le message sur l'appareil mobile ressemble à ce qui suit
500.00 .
Le problème ne concerne que certains personnages, comme vous le voyez ci-dessus. Pour votre information, il n'y a pas de problème avec la chaîne anglaise.