2012-07-26 4 views
0

voici la situation:vb6 police charset oracle

J'ai string1 en utilisant charset 186 (BALTIC_CHARSET). J'ai string2 en utilisant charset 204 (RUSSIAN_CHARSET). Je peux enregistrer ces chaînes dans la base de données Oracle. Je peux voir ces chaînes comme elles le devraient seulement quand je change de charset particulier. Ce n'est pas un problème. Le problème est de savoir comment sauvegarder le fichier string2 dans le fichier .text et le voir comme il se doit. Maintenant, quand je le sauvegarde, j'ai des bêtises. Je suis nouveau à tous les Unicode ou Ansi ou autre. Puis-je obtenir ce que je veux en utilisant vb.net? Comment je fais ça alors? Merci.

Répondre

1

Un fichier texte ne possède pas lui-même de page de codes, il sera donc affiché comme la page de codes sélectionnée au moment où vous l'affichez (identique à la valeur dans la base de données). La façon correcte de gérer ceci est d'utiliser unicode que VB utilise en interne, mais (par défaut) convertira de et vers la page de codes locale actuelle lors de l'affichage ou de l'enregistrement dans un fichier.

Vous pouvez save this file as UTF-8 ou UCS-2 en ajoutant le caractère BOM au début et juste d'écrire les données de chaîne de la mémoire en utilisant quelque chose comme:

Dim Content() As Byte 
Content = ChrW(&HFEFF) & StringVariable 
FileNum = FreeFile() 
Open FileName For Binary As #FileNum 
Put #filenum, Content 
Close #FileNum 

(code air non testé)