Soyez le premier à donner votre avis sur cette source.
Vue 22 210 fois - Téléchargée 949 fois
Imports System.IO 'Importation de l'espace de noms pour les fichiers '-------------------------------------------------------------------------------------------- 'Voici les différents encodages acceptés : 'System.Text.Encoding.ASCII ' .BigEndianUnicode ' .Default ' .Unicode ' .UTF7 ' .UTF8 'Ces deux méthodes permettent par défaut de convertir de UTF8 vers ANSI et de ANSI vers UTF8, 'mais vous pouvez très bien choisir l'encodage souhaité ! (cf liste ci-dessus) '-------------------------------------------------------------------------------------------- Public Class FileConvert 'Méthode de conversion de UTF8 vers ANSI Sub UTF8_to_ANSI(ByVal file_source As String, ByVal file_destination As String) Dim ls_contenu As String Try 'Déclaration du fichier de destination avec l'encodage souhaité, ici "default" (=ANSI) Dim fic_dest As New StreamWriter(file_destination, True, System.Text.Encoding.Default) 'Déclaration du fichier source avec son encodage, ici UTF8 Dim monStreamReader As New StreamReader(file_source, System.Text.Encoding.UTF8) 'Lecture de tout le contenu du fichier source ls_contenu = monStreamReader.ReadToEnd 'Ecriture du contenu du fichier source dans le fichier de destination fic_dest.WriteLine(ls_contenu) 'Fermeture du fichier fic_dest.Close() Catch err As Exception 'Capture de l'erreur éventuelle MsgBox("Erreur : " + vbCrLf + err.ToString, MsgBoxStyle.Critical, "CvrtFileFormat.dll") End Try End Sub 'Méthode de conversion de ANSI vers UTF8 Sub ANSI_to_UTF8(ByVal file_source As String, ByVal file_destination As String) Dim ls_contenu As String Try 'Déclaration du fichier de destination avec l'encodage souhaité, ici "UTF8" Dim fic_dest As New StreamWriter(file_destination, True, System.Text.Encoding.UTF8) 'Déclaration du fichier source avec son encodage, ici "Default" (=ANSI") Dim monStreamReader As New StreamReader(file_source, System.Text.Encoding.Default) 'Lecture de tout le contenu du fichier source ls_contenu = monStreamReader.ReadToEnd 'Ecriture du contenu du fichier source dans le fichier de destination fic_dest.WriteLine(ls_contenu) 'Fermeture du fichier fic_dest.Close() Catch err As Exception 'Capture de l'erreur éventuelle MsgBox("Erreur : " + vbCrLf + err.ToString, MsgBoxStyle.Critical, "CvrtFileFormat.dll") End Try End Sub End Class
Je souhaite savoir s'il est possible de se servir de cet outil via un script VBScript.
En fait, l'ideal serait de charger la classe vb et d'appeler la fonction UTF8_to_ANSI directement dans mon script VBS, à l'image de cet exemple fourni par l'auteur de l'outil :
Dim FileConverter As New CvrtFileFormat.FileConvert
FileConverter.UTF8_to_ANSI("C:\test_UTF8.txt", "C:\test_ANSI.txt")
Est-ce que quelqu'un aurait une idée ?
Merci d'avance,
ZaK
Je suis nouveau sur ce forum et à ce propos, je remercie tous les fanas de code qui donnent de leur temps pour trouver des solutions aux autres.
Ma question est toute bête, comment faire pour utiliser cette DLL ? Je suis super novice en code et je ne vois pas la finalité de la chose.
Je dois trouver une solution qui permette de changer l'encodage d'un fichier csv qui est en format Ansi et le rendre en format UTF-8.
Merci pour votre aide.
Xavier
Comment utiliser cette DLL avec java (jbuilder)?
Merci d'avance pour votre aide.
Cordialement
Merci pour ta dll, cela semblerait répondre à mon besoin.
Je cherche à convertir un fichier UTF8 en ANSI par ligne de commande (dans le dos).
J'ai donc pensé à utiliser rundll32.exe pour appeler ta dll (au lieu de l'exemple vb que tu donnes) mais je n'y parviens malheureusement pas. Peux-tu m'aider s'il te plait?
Voici la ligne de commande que j'essaie de faire:
rundll32.exe C:\Essai\CvrtFileFormat.dll,FileConverter.UTF8_to_ANSI "C:\Essai\toto.txt","C:\Essai\toto2.txt")
Mais j'obtiens un message d'erreur "Entrée manquante"...
Cela m'a permis de comprendre pourquoi des fichiers issus de VB6, lus en ANSI par mon programme, ne prenaient plus les accents quand ils étaient écrits et relus : il faut lire en ANSI et écrire en UTF8 pour VB.net
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.