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

26

Parfois, je modifie du texte anglais qui comprend des caractères Unicode. Pour une raison quelconque, sur mon PC, Notepad ++ convertit les caractères Unicode en ???, corrompant ainsi le texte et perdant toutes ces données. Je cherche un moyen de modifier un tel texte, tout en préservant les caractères Unicode. J'utilise Consolas comme police. Si la police n'a pas tous ces caractères, pourquoi devrais-je perdre les données lorsque je copie le texte de Notepad ++ (via le presse-papiers de Windows)?

Robinicks
la source
Serait-ce que vous utilisez un plugin qui ne prend pas en charge Unicode?
Ivo Flipse
Si ce sont des points d'interrogation dans les cases, c'est en fait le glyphe de la police pour les glyphes manquants et vos données ne sont pas perdues.
Joey
Non, ce n'est pas dans des boîtes, c'est plutôt la plaine '?' personnage. Confirmé.
Robinicks
1
vous devrez peut-être modifier la police. voir superuser.com/questions/16831/…
RamyenHead

Réponses:

15

Si le fichier est réellement encodé en Unicode, Notepad ++ devrait le détecter automatiquement. La police Consolas fonctionne bien pour moi. Vous pouvez essayer l'une de ces deux options de menu:

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

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

Chèvre mécontente
la source
Je n'ai pas le menu Format.
Val
1
Pour la postérité, vous avez besoin du menu Encodage, pas du format
Ken Bellows
15

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 de détection automatique lorsqu'il est utilisé avec un document vide / nouveau, du moins pas dans la version de 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 défini dans le menu ParamètresPréférences → onglet Nouveau document / Ouvrir le répertoire d'enregistrement .

Solution

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

Commande de menu "menu Format / Encode en UTF-8" sur le point d'être exécutée

Exemple

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

Si l'encodage n'est pas modifié depuis "ANSI", voici le résultat:

Résultat du collage de la chaîne Unicode "Russian (русский язык, russkiy yazyk") dans un nouveau document Notepad ++ sans changer l'encodage par défaut "ANSI".

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

Résultat du collage de la chaîne Unicode "Russian (русский язык, russkiy yazyk") dans un nouveau document Notepad ++ après avoir changé l'encodage de la valeur par défaut "ANSI" en "UTF-8".

Comme le montre la figure ci-dessous (la partie cyrillique est mise en évidence), Notepad ++ convertit en fait les caractères Unicode en ASCII 63 (hexadécimal 3F), des points d'interrogation. C'est pourquoi les caractères Unicode sont perdus (en mode "ANSI" ) lors de la copie du texte via le presse-papiers (ce n'est pas un problème de police - les informations sont perdues).

Capture d'écran d'une vue hexadécimale dudit document

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

Peter Mortensen
la source
5

Il y a de bonnes et de mauvaises nouvelles.

Bonne nouvelle: Notepad ++ prend en charge Unicode (du moins d'après ce que je peux rassembler).

Mauvaise nouvelle: le support Unicode n'est apparemment que sur 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. Le codage pour Unicode est en fait le plus souvent UTF-8.

Voici une «jolie» image de la prise en charge Unicode dans Notepad ++,

entrez la description de l'image ici

Josh Hunt
la source
3

Unicode fonctionne parfaitement sous Windows 7. Le seul problème qui se pose est que vous devez retaper les caractères qui ont été modifiés. Ça m'est arrivé. J'écris avec des lettres scandinaves donc ä -> E4, ö -> F6. C'est difficile de les remplacer tous, mais ça vaut le coup.

Si vous encodez une page de ANSI -> UTF-8, il y aura des problèmes de caractères.

Je vous suggère de créer d'abord une nouvelle page en UTF-8, puis de copier / coller vos informations. Il n'y aura / ne devrait pas y avoir de problème alors.

Peter Mortensen
la source
1

Cela fonctionne pour moi:

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

viol rapy
la source
0

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

Siavash
la source