Question

J'ai une question de codage et aimerait demander de l'aide. Je remarque si je choisis « UTF-8 » comme l'encodage, il y a (au moins) deux guillemets doubles " et . Mais lorsque je choisis « ISO-8859-1 » comme le codage, je vois ce dernier guillemet devient ¡°, ou parfois par exemple “.

Quelqu'un pourrait-il s'il vous plaît expliquer pourquoi cela est le cas? Comment peut correspondre et le remplacer par " en utilisant regexp en Perl?

Merci beaucoup.

Était-ce utile?

La solution

ISO-8859-1 est un encodage d'un octet-par-caractère. La fantaisie des guillemets doubles Unicode ne sont pas dans le jeu de caractères ISO-8859-1. Donc ce que vous voyez est un caractère multi-octets représenté comme une séquence de ISO-8859-1 octets.

Pour faire correspondre ces choses étranges, voir l'homme perlunicode , en particulier le \ x {. ..} et des séquences d'échappement \ N {...}.

Pour répondre à votre question, essayez \ x {} 201C pour correspondre à l'Unicode GAUCHE DOUBLE GUILLEMET et \ x {} 201D pour correspondre à la droite DOUBLE GUILLEMET. Vous avez manqué ce dernier dans votre question: -).

[mise à jour]

Je aurait dû donner ma référence ... Certains gentil monsieur au Royaume-Uni a une page sur ASCII et guillemets Unicode . ASCII plain vanilla / ISO-8859-1 guillemet est simplement appelé guillemet.

Autres conseils

Peut être cette Old post contribuera ..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top