• Publicidad

Codificar caracteres al momento de imprimirlos

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Codificar caracteres al momento de imprimirlos

Notapor Emstro » 2011-03-11 15:35 @691

Quisiera una orientación, les explico mi caso:

Tengo unos datos en una base Oracle.

Al momento de imprimirlos por pantalla algunos de estos datos vienen con parámetros raros (ej:锟斤拷一锟斤拷楼锟斤拷锟斤拷锟斤拷式锟斤拷锟). Si uno elige manualmente la opción de codificación en Chino Simplificado (GBK) en el navegador (FireFox) estos datos se muestran bien.

Ahora, me gustaría hacer una condición antes de imprimirlos que dijera que si vienen caracteres raros hacer una codificación a Chino Simplificado e imprimirlos.

¿Se podrá hacer esto? ¿Cómo?

Gracias por su ayuda y orientación.
Emstro
Perlero nuevo
Perlero nuevo
 
Mensajes: 31
Registrado: 2010-11-08 16:12 @716

Publicidad

Re: Codificar caracteres al momento de imprimirlos

Notapor explorer » 2011-03-11 15:52 @703

El asunto puede ser bastante complicado. Si no sabemos la codificación de los datos en la base de datos, éstos, pueden ser cualquier cosa.

Hay un módulo en Perl, Encode::Guess, que intenta adivinar la codificación de los datos.

Los datos de partida han de ser: o un flujo de bytes ascii, o utf8 o UTF-16/32, con la marca BOM, al principio.

Y se le puede indicar la(s) codificación(es) en las que sospechamos que pueden estar esos datos.

Una vez que sepas en qué codificación están, puedes usar las funciones del módulo Encode, para pasarlos todos a utf8, y de esa manera no tienes que poner una codificación distinta en las páginas HTML.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Codificar caracteres al momento de imprimirlos

Notapor Emstro » 2011-03-11 16:26 @726

Gracias,

Puedo lograr saber qué codificación es, pero, ¿cómo se usa este módulo? No me imagino mucho la condición ni la ejecución del traspaso.

También estuve averiguando de que se puede hacer con el módulo "utf8;"

Saludos.
Emstro
Perlero nuevo
Perlero nuevo
 
Mensajes: 31
Registrado: 2010-11-08 16:12 @716


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 23 invitados