Pourquoi utiliser ADODB.Stream avec le jeu de caractères ASCII des caractères spéciaux comme ä sont convertis?

Je vais avoir un problème en essayant de sortie le contenu de certaines variables dans vb6 dans un fichier texte. Le truc, c'est que lorsqu'un caractère spécial de ASCII étendu apparaît comme ä, ü, á il est transformé dans la sortie de la correspondance des caractères ASCII de base char comme a, u,.

J'ai essayé de l'exporter comme UTF-8, puis le caractère s'affiche correctement, mais j'ai besoin de la sortie ASCII. Aussi, semble étrange pour moi que le nom de fichier peut normalement contenir cette caractères (ä, ü, á...) sans sustitution.

Cela peut-être parce que "ASCII" charset est juste la base et non pas l'étendue? Peut-être parce que les pages de code configuré dans Windows? J'ai essayé avec un couple d'entre eux (allemand, anglais) avec le même résultat.

C'est le code que j'utilise:

Set fileStream = New ADODB.Stream
If Not fileStream Is Nothing Then
    inputString = textPreAppend + inputString
    fileStream.charSet = "ASCII"
    fileStream.Open
    fileStream.WriteText inputString
    fileStream.Flush
    fileStream.SaveToFile fileName, adSaveCreateOverWrite
    fileStream.Flush
    fileStream.Close
End If
Set fileStream = Nothing

Merci d'avance!

  • Pour référence, "ascii" se réfère dans ce cas à iso8859-1/page de codes 1252.
  • Bon à savoir Deanna, je pense que je peut parlé de jeux de caractères. Je viens de faire un test et je l'ai décochée, le jeu de caractères 20127 (US-ASCII) qui je pense est le code ASCII de base, et le fichier de sortie est complètement vide. Je pense que cela prouve que je suis en utilisant le code ASCII de base au lieu de l'étendue (1252), mais ce code est sélectionné dans les paramètres régionaux. J'ai peut-être de force à l'intérieur du code?