Bonjour,
Lorsque j'ouvre un code dans SciTE, les lettres xEFxBFxBF s'affichent en tête de la ligne #Region.
Savez-vous ce que cela signifie et comment l'éviter ?
Je vous remercie.
[R]xEFxBFxBF#Region
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R]xEFxBFxBF#Region
Modifié en dernier par GMH le ven. 07 août 2020 14:47, modifié 1 fois.
- walkson
- Modérateur
- Messages : 1020
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: [..]xEFxBFxBF#Region
Bonjour,
Peut être un début de solution https://www.autoitscript.com/forum/topi ... -ef-bf-bf/
D'où ma question: avez vous la dernière version de SciTe ?
https://www.autoitscript.com/site/autoit-script-editor/
Peut être un début de solution https://www.autoitscript.com/forum/topi ... -ef-bf-bf/
D'où ma question: avez vous la dernière version de SciTe ?
https://www.autoitscript.com/site/autoit-script-editor/
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Re: [..]xEFxBFxBF#Region
Bonjour et merci pour votre réponse,
Le message du forum que vous me proposez expose bien le même problème. Mon programme, comprenant des caractères non latins, est encodé en UTF-16 Little Endian,
La version de mon SciTE est 4.1.2 du 13 février 2019.
Le message du forum que vous me proposez expose bien le même problème. Mon programme, comprenant des caractères non latins, est encodé en UTF-16 Little Endian,
La version de mon SciTE est 4.1.2 du 13 février 2019.
- jchd
- AutoIt MVPs (MVP)
- Messages : 2272
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..]xEFxBFxBF#Region
Choisir plutôt UTF8 pour l'encodage des sources et l'affichage console avec une police lisible et assez complète (e.g. DejaVu Sans Mono). Ensuite remplacer vos ConsoleWrite() par CW() et voilà. Notez que ce CW() ajoute un @LF.
On peut préciser une police ad-hoc pour la console CUI (encore une fois je recommande DejaVu Sans Mono).
Code : Tout sélectionner
Local $s
; Mixed language strings
$s = "Μεγάλο πρόβλημα Большая проблема 大问题 बड़ी समस्या مشكلة كبيرة"
CW($s)
; A familly with different Fitzpatrick settings = only one glyph
$s = ChrW(0xD83D) & ChrW(0xDC68) & ChrW(0xD83C ) & ChrW(0xDFFB) & ChrW(0x200D) & ChrW(0xD83D) & ChrW(0xDC69) & ChrW(0xD83C) & ChrW(0xDFFF) & ChrW(0x200D) & ChrW(0xD83D) & ChrW(0xDC66) & ChrW(0xD83C) & ChrW(0xDFFD)
CW($s)
; Transport emojis
$s = ""
For $i = 0xDE80 To 0xDEFF
$s &= ChrW(0xD83D) & ChrW($i) ; U+1F680 to U+1F6FF
If Mod($i, 16) = 15 Then
CW($s)
$s = ""
EndIf
Next
; --------------------
Func CW($s = "")
Return (@Compiled ? _CUI_ConsoleWrite : _ConsoleWrite)($s)
EndFunc ;==>CW
Func _CUI_ConsoleWrite(ByRef $s)
Local Static $hCon = _CUI_ConsoleInit()
DllCall("kernel32.dll", "bool", "WriteConsoleW", "handle", $hCon, "wstr", $s & @LF, "dword", StringLen($s) + 1, "dword*", 0, "ptr", 0)
Return
EndFunc ;==>_CUI_ConsoleWrite
Func _CUI_ConsoleInit()
DllCall("kernel32.dll", "bool", "AllocConsole")
DllCall("kernel32.dll", "bool", "SetConsoleOutputCP", "int", 65001) ; console to UTF8
Return DllCall("kernel32.dll", "handle", "GetStdHandle", "int", -11)[0]
EndFunc ;==>_CUI_ConsoleInit
; Unicode-aware ConsoleWrite
Func _ConsoleWrite($s)
ConsoleWrite(BinaryToString(StringToBinary($s & @LF, 4), 1))
EndFunc ;==>_ConsoleWrite
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..]xEFxBFxBF#Region
Bonjour, et merci pour la solution : L'encodage UTF8 résout le problème : plus de caractères gênants en début de code.
J'ai tenté de changer la police dans les Options de SciTE, mais la sauvegarde du fichier d'options ne se fait pas si on ne change pas son nom. Comment s'y prend-on ?
J'ai tenté de changer la police dans les Options de SciTE, mais la sauvegarde du fichier d'options ne se fait pas si on ne change pas son nom. Comment s'y prend-on ?
- jchd
- AutoIt MVPs (MVP)
- Messages : 2272
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..]xEFxBFxBF#Region
Dans C:\Users\XXXXXX\AppData\Local\AutoIt v3\SciTESciTEUser.properties, j'ai ça :
font.monospace=font:DejaVu Sans Mono,size:11
code.page=65001
output.code.page=65001
NewFileEncoding=UTF8
utf8.auto.check=4
font.monospace=font:DejaVu Sans Mono,size:11
code.page=65001
output.code.page=65001
NewFileEncoding=UTF8
utf8.auto.check=4
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [R]xEFxBFxBF#Region
C'est impeccable. Grand merci pour tout ce que j'apprends.