2009-08-11 13:11:38 +0000 2009-08-11 13:11:38 +0000
26
26

Comment puis-je modifier du texte Unicode dans Notepad++ ?

Il m'arrive d'éditer des textes en anglais qui contiennent des caractères Unicode. Pour une raison quelconque, sur mon PC, Notepad++ convertit les caractères Unicode en ? ??, ce qui corrompt le texte et perd toutes ces données. Je cherche un moyen de modifier ce texte, tout en préservant les caractères Unicode. J'utilise Consolas comme police de caractères. Si la police ne comporte pas tous ces caractères, pourquoi devrais-je perdre les données lorsque je copie le texte du Bloc-notes++ (via le presse-papiers de Windows) ?

Réponses (5)

15
15
15
2011-09-17 11:54:32 +0000

Le problème décrit dans la question se produit lorsqu'un document vide / nouveau est défini sur “ANSI”, et que des caractères Unicode y sont collés.

Il n'y a pas d'auto-détection lorsqu'il est utilisé avec un document vide / nouveau, du moins pas dans la version du Notepad++ sur laquelle je l'ai testé (v5.4.5). “ANSI” est la valeur par défaut dans Notepad++ pour un nouveau document, sauf si elle est définie dans le menu SettingsPreferences → onglet New Document/Open Save Directory.

Solution

La solution est de régler l'encodage sur UTF-8 avant de coller, menu FormatEncoder en UTF-8 :

Exemple

J'ai copié du texte dans un nouveau document Notepad++, Russien (русский язык, russkiy yazyk), de Firefox montrant la page Wikipedia langue russe _.

Si l'encodage est non modifié par rapport à “ANSI”, voici le résultat :

Si l'encodage est modifié, voici le résultat :

Comme on peut le voir dans la figure ci-dessous (la partie cyrillique est surlignée), Notepad++ convertit en fait les caractères Unicode en ASCII 63 (hexadécimal 3F), points d'interrogation. C'est pourquoi les caractères Unicode sont perdus (en mode “ANSI”) lors de la copie du texte dans le presse-papiers (ce n'est pas un problème de police - l'information est perdue).

Testé sur : Notepad++ v5.4.5 (UNICODE).

15
15
15
2009-08-11 13:30:37 +0000

Si le fichier est effectivement encodé en Unicode, Notepad++ devrait le détecter automatiquement. La police Consolas me convient parfaitement. Vous pouvez essayer l'une de ces deux options de menu :

  • Encodage -> Encodage en UTF-8
  • Encodage -> Convertir en UTF-8

Je suis presque sûr que le premier fera ce que vous voulez.

5
5
5
2009-08-11 13:30:46 +0000

Il y a des bonnes et des mauvaises nouvelles.

Bonne nouvelle: Notepad++ supporte l'Unicode (du moins d'après ce que j'ai pu rassembler).

Mauvaise nouvelle: Apparemment, l'Unicode n'est pris en charge que sous Windows XP.

En fait, je n'ai pas de machine Windows devant moi. D'après ce que je me souviens, il y a un menu Encodage sous le menu Format quelque part. L'encodage pour l'Unicode est en fait le plus souvent UTF-8.

Voici une “jolie” image du support de l'Unicode dans Notepad++,

.

1
1
1
2015-04-14 13:13:05 +0000

Cela fonctionne pour moi :

J'ai changé la police en Courier New dans le configurateur de style de mon PC (Windows 7 avec le jeu de caractères anglais/américain et le roumain pour le jeu non-Unicode). Il fonctionne avec les polices Courier New & Tahoma + l'encodage UTF-8.

0
0
0
2018-09-19 10:12:31 +0000

Dans le menu du haut, sélectionnez le Encoding puis choisissez Encode in UTF-8 ou Encode in UTF-8 Without BOM puis vous pouvez modifier le texte en encodage Unicode.