• Publicidad

perl encoding

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Re: perl encoding

Notapor seafree » 2012-09-04 11:00 @500

Exacto, en el httpd.conf tengo AddDefaultCharset UTF-8

¿Requiero verificar algo más?
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Publicidad

Re: perl encoding

Notapor explorer » 2012-09-04 12:29 @562

He dicho base de datos, no configuración del servidor web.
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: perl encoding

Notapor seafree » 2012-09-05 11:20 @513

Hola, explorer, disculpa la interpretación.

Mira: la base de datos de origen contaba con el encoding UTF8, al originarse el hueco donde he caído, la cambié a LATIN1, y actualmente la regresé a UTF8, pero continúo con el muestro incorrecto de la 'Ñ', acentos, etc...

¿Alguna propuesta? Gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: perl encoding

Notapor explorer » 2012-09-05 12:04 @545

No hacía falta que la base de datos se convirtiera a utf8.

Lo que importaba es saber qué codificación era la que estaba usando.

Bueno, pues ahora, suponiendo que lo que obtenemos de la base de datos son datos codificados en utf8, solo queda decírselo a Perl, como te comentaba en el mensaje anteior:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Encode;

...;

$causa = decode_utf8($ref_eventos->{'causa'});
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

En ese momento, $causa almacena caracteres lógicos.

Perl, a la hora de sacarlos por la salida estándar, con la ayuda del binmode(), los convierte a utf8.
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: perl encoding

Notapor seafree » 2012-09-05 13:36 @608

Hola, explorer, sigo sin visualizar caracteres especiales, el código es:

#!/usr/bin/perl
use Encode;
use utf8;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use DBI;

binmode STDOUT, ":utf8";

print
header( -charset =>"utf-8"),
start_html('CGI MÍMIMO');
my $;
.
.
print "<BODY BGCOLOR='#FFFFFF' TOPMARGIN='0' LEFTMARGIN='0'>";
$dbh = DBI->connect("DBI:Pg:...");
$sql="";
$sth= $dbh->prepare($sql);
$sth->execute();
$registros= $sth->rows;
if ($registros > 0){
print "<FORM NAME='form_ver_eventos' METHOD='post' ACTION='/cgi-bin/sicev/camb_eventos.cgi'>";
.
.
.
while(my $ref_eventos = $sth->fetchrow_hashref()) { ###LECTURA registros de $sql
print "<tr>";
.
$causa= decode_utf8($ref_eventos->{'causa'}); ##Descripción de caracteres especiales
print "<td width='20%' align='center'> <font face='arial' size='2'>$causa</font></td>";
print "</td></tr>";
}
print "</table>";``
}
else{
$mensaje= "POR FAVOR VERIFIQUE SU SOLICITUD";
print"<table align='center'><tr><td>";
&mensaje_error($mensaje);
print"</td></tr></table>";
exit;
}

¿Qué me está sucediendo?
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: perl encoding

Notapor explorer » 2012-09-05 19:15 @843

Pues no lo sé.

¿Qué caracteres salen ahora?
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: perl encoding

Notapor seafree » 2012-09-06 09:36 @442

Hola, explorer. Los caracteres son:

DAÑO
DAÑADO

Acabo de realizar pruebas insertando y consultando con 'ñ' y acentos y todo funciona bien, pero las consultas anteriores fueron registros insertados por el usuario final y desconozco cómo lo realizó, ¿tienes alguna idea para la solución? porque lo que puedo hacer es simplemente actualizar y listo.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: perl encoding

Notapor explorer » 2012-09-06 15:45 @698

seafree escribiste:Los caracteres son:

DAÑO
DAÑADO
Por el aspecto, parecen que son utf8, pero están rotos.

seafree escribiste:Acabo de realizar pruebas insertando y consultando con 'ñ' y acentos y todo funciona bien
¡¡¡Funciona!!!

seafree escribiste:pero las consultas anteriores fueron registros insertados por el usuario final y desconozco cómo lo realizó, ¿tienes alguna idea para la solución? porque lo que puedo hacer es simplemente actualizar y listo
Hummm... por el aspecto de los caracteres, yo diría que el usuario final introdujo los datos en utf8, pero la base de datos los grabó en latin1.
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: perl encoding

Notapor seafree » 2012-10-29 14:46 @657

Hola, explorer, gracias por responder.

Los registros son pocos porque apenas estoy iniciando con el proyecto y los actualizaré. Con tu apoyo he normalizado lo correspondiente y la aplicación funcionará correctamente.

Gracias, explorer por compartir tu valiosa experiencia.


Última reactivación por seafree en 2012-10-29 14:46 @657
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Anterior

Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado