Page 2 sur 2

Re: [..] Encodage de la sortie console

Posté : mar. 16 févr. 2021 16:21
par toto1515
jchd a écrit : mer. 12 juin 2019 22:33 Dans SciTeUser.properties pour passer la console intégrée en UTF8, mettre :

Code : Tout sélectionner

code.page=65001
output.code.page=65001
Pour afficher de l'UTF8 depuis du code AutoIt lancé via Scite, utiliser ceci :

Code : Tout sélectionner

Global $CW = @Compiled ? __ConsoleWrite : _ConsoleWrite

Func __ConsoleWrite(ByRef $s)
	Local Static $hCon = __ConsoleInit()
	DllCall("kernel32.dll", "bool", "WriteConsoleW", "handle", $hCon, "wstr", $s & @LF, "dword", StringLen($s) + 1, "dword*", 0, "ptr", 0)
	Return
EndFunc

Func __ConsoleInit()
	DllCall("kernel32.dll", "bool", "AllocConsole")
	Return DllCall("kernel32.dll", "handle", "GetStdHandle", "int", -11)[0]
EndFunc

; Unicode-aware ConsoleWrite
Func _ConsoleWrite($s)
	ConsoleWrite(BinaryToString(StringToBinary($s & @LF, 4), 1))
EndFunc   ;==>_ConsoleWrite
et utiliser cette fonction au lieu de ConsoleWrite :

Code : Tout sélectionner

$CW("Καλησπέρα στο σπίτι!")
L'intérêt de la redirection via une variable est que ça fonctionne en CUI ou GUI, depuis Scite ou compilé.

Bonjour,
j'ai bien modifié les lignes de SciTeUser.properties et j'ai lancé le code. ça marche pas mal, sauf s'il y a une erreur dans le code :
Scite codepage 2021-02-16_161520.jpg
Alors, l'affichage des caractères spéciaux n'est pas bon.

Une solution ?
Merci

Re: [R] Encodage de la sortie console

Posté : mer. 17 févr. 2021 03:06
par jchd
Au3Check n'est pas écrit avec AutoIt et il doit afficher de la page de code par défaut, typiquement Windows Occidental.
Donc mon code de CW() ne peut rien contre ça.