Je souhaite reformatter un fichier texte avec des caractères unicode (russe) par exemple.
Je souhaiterais aprés traitement retrouver mes caractères russe !
Voici mon script :
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
;Dim $File = @ScriptDir&"\FR.txt", $aArray, $ZipDat
;Dim $File = @ScriptDir&"\allCountries.txt", $aArray, $ZipDat
Dim $File = @ScriptDir&"\test_unicode.txt", $aArray, $ZipDat
_FileReadToArray($File,$aArray)
;_ArrayDisplay($aArray)
If IsArray($aArray) Then
$aArray = _DoIt($aArray)
$ZipDat = _ArrayToString($aArray, @CRLF)
EndIf
If $ZipDat <> "" Then _SaveNewFile($File, $ZipDat)
Func _DoIt($aVilles)
Local $x, $Var, $Var2, $Longitude, $Latitude, $NomVille, $ZipCode
For $x = 1 to $aArray[0]
; Msgbox(0,'Record:' & $x, $aArray[$x])
$Var = StringSplit(StringReplace($aArray[$x],@LF,@CRLF),@TAB)
$NomVille = $Var[3]
If StringInStr($Var[2],"CEDEX") Then ContinueLoop;bloque toutes les lignes CEDEX
; $ZipCode = StringLeft($Var[2],5)
$ZipCode = $Var[2]
$Region = ChrW($Var[4])
$Departement = ChrW($Var[7])
If $Var[10] > 0 Then
$Latitude = "+"&$Var[10]
Else
$Latitude = $Var[10]
EndIf
If $Var[11] > 0 Then
$Longitude = "+"&$Var[11]
Else
$Longitude = $Var[11]
EndIf
$aVilles[$x] = '"'& $ZipCode & '","' & $Latitude & '","' & $Longitude & '","' & $NomVille & '","'& $Departement & '","' & $Region &'",""'
Next
_ArraySort($aVilles)
_ArrayDelete($aVilles, 0) ; On supprime le nombre d'élément du tableau
Return $aVilles
EndFunc ;==>_DoIt
Func _SaveNewFile($Fichier, $sVilles)
Local $szDrive, $szDir, $szFName, $szExt, $Path
$Path = _PathSplit($Fichier, $szDrive, $szDir, $szFName, $szExt)
$Fichier = $szDrive & $szDir & $szFName & "_New" & $szExt
$hFichier = FileOpen($Fichier, 2)
If $hFichier = -1 Then
MsgBox(0, "Erreur", "Impossible de traiter le fichier :" & @CRLF & $Fichier)
Return
EndIf
FileWrite($hFichier, $sVilles)
FileClose($hFichier)
EndFunc ;==>_SaveNewFile



