Steve Frécinaux

SciTE et UTF-8

SciTE est un éditeur de texte avancé, qui permet de travailler en ISO-8859-1 ou en UTF-8 (avec ou sans BOM). Cependant, lorsqu’on travaille en UTF-8 mais n’enregistre pas de BOM (comprenez lorsque l’on utilise le mode « Cookie »), SciTE s’obstine à vouloir les ré-ouvrir en mode ISO-8859-1. Pourtant, il existe un truc méconnu, qui n’est même pas renseigné à ma connaissance dans la documentation, mais qui est passé sur la mailing-liste de SciTE récemment, pour que l’éditeur reconnaisse notre UTF-8.

En fait, le programme cherche, dans les deux premières lignes du ficher, après la chaîne de caractères coding: utf-8. Si cette chaîne est présente, il passera automatiquement en mode « UTF-8 Cookie ». Ceci trouve son origine dans le langage Python, pour lequel on définit l’encodage du fichier via une ligne de ce type, en début de fichier :

#!/usr/bin/python
# -*- coding: utf-8 -*-

Mais ça fonctionne pour tous les fichiers. Exemple, en PHP, il vous suffira de prendre la (bonne) habitude de définir l’encodage que vous utilisez, de la même façon :

<?php # coding: utf-8

Petit bémol, cette chaîne doit se trouver exactement comme ceci. Pas question pour SciTE de découvrir le encoding="utf-8" d’un fichier XML, ou le Content-Type: text/html; charset=utf-8 d’un fichier HTML. Qu’à cela ne tienne, il suffit de procéder de la même façon :

<?xml version="1.0" encoding="utf-8"?><!-- coding: utf-8 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

En passant, si vous utilisez SciTE, Gnome, et qu’une compilation ne vous fait pas peur, jetez un oeil intéressé au patch de mat, et si vous voulez un SciTE directement opérationnel et tout bien configuré, à son fichier de configuration.