cuestión de codificación en perl
Pregunta
Tengo una pregunta de codificación y me gustaría pedir ayuda. Noto si elijo "UTF-8" como codificación, hay (al menos) dos cotizaciones dobles "
y “
. Pero cuando elijo "ISO-8859-1" como la codificación, veo que la última cita doble se convierte en ¡°
, o a veces por ejemplo “
.
¿Alguien podría explicar por qué este es el caso? ¿Cómo puede coincidir? “
y reemplácelo con "
¿Usando regexp en perl?
Muchas gracias.
Solución
ISO-8859-1 es una codificación de un byte por caracteres. Los elegantes quotas de unicode no están en el conjunto de caracteres ISO-8859-1. Entonces, lo que está viendo es un personaje de múltiples bytes representado como una secuencia de bytes ISO-8859-1.
Para que coincida con estas cosas raras, vea la perlunicode Página del hombre, especialmente las secuencias de escape x {...} y n {...} de escape.
Para responder a su pregunta, intente x {201c} para que coincida con la marca de doble cita de unicode izquierda y x {201D} para que coincida con la doble cita correcta. Te perdiste el último en tu pregunta :-).
actualizar
Debería haber proporcionado mi referencia ... un buen caballero en el Reino Unido tiene una página sobre Citas ASCII y Unicode. La cotización doble de vainilla ASCII/ISO-8859-1 se solo llama cita.
Otros consejos
Tal vez esto Old post
ayudará..