Foros del Web » Programando para Internet » PHP »

Problemas con codificación php Mysql

Estas en el tema de Problemas con codificación php Mysql en el foro de PHP en Foros del Web. Hola a todos, HAce rato qeu ando con este problema y decidí publicarlo para ver si alguien me puede dar una mano... El tema es ...
  #1 (permalink)  
Antiguo 03/11/2010, 23:55
 
Fecha de Ingreso: mayo-2009
Mensajes: 68
Antigüedad: 14 años, 10 meses
Puntos: 0
Problemas con codificación php Mysql

Hola a todos,
HAce rato qeu ando con este problema y decidí publicarlo para ver si alguien me puede dar una mano...

El tema es que copio datos de un txt y los vuelco a una tabla en mi BD mysql... el tema es qeu cuando lo hago desde mi pagina web (no Localhost) las Ñ acentos y cosas como ª º & no salen correctamente.

Leí por ahi te era tema del charset, lo probe con iso-8859-1 y utf-8 pero el problema persiste...

que puede ser?

les paso el código que uso para pasar los datos de mi txt a la base:

Código PHP:
<html>
<head>
<title>piero</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<?php
//Obtengo la ruta completa (con el nombre incluido) del archivo subido
$ruta_archivo_a_subir $_FILES['archivo']['tmp_name'];

/*Armo la ruta completa (con el nombre incluido) de
donde quiero guardar el archivo en forma permanente*/
$ruta_destino 'apuntes.txt' $_FILES['archivo']['apuntes.txt'];

//Si el archivo se subio correctamente, lo muevo a la ubicacion permanente
if( move_uploaded_file($ruta_archivo_a_subir$ruta_destino) )
echo 
'<br/>El archivo se ha subido exitosamente<br/>';
else
echo 
'Ha ocurrido un problema al cargar el archivo<br/>';
?>
<?php
// CONVERTIMOS TODO A MAYUSCULAS
$a=fopen("apuntes.txt","a+");
$b=file("apuntes.txt");
$c=strtoupper(join("",$b));
file_put_contents("apuntes.txt",$c);
fclose($a);
?>
<?php
$conectar
=mysql_connect("localhost","mariano_mariano","321ewq");
if(
$conectar==true){
echo 
"<br/>Se ha conectado correctamente<br/>";
}else{
echo 
"error al conectarse<br/>";
}
$db=mysql_select_db ("mariano_pierodb",$conectar);
if(
$db==true){
echo 
"<br>Se ha encontrado la base de datos<br/>";
}else{
echo 
"<br>no se encuentra la base de datos<br/>";
}
//Primero Vacio la tabla
$vaciartabla mysql_query("DELETE FROM apuntenuevoborrador");
if(
$vaciartabla==true){
echo 
"<br>Se vació correctamente la base<br/>";
}else{
echo 
"<br>ERROR: No se vació la base<br/>";
}

      
//Delimitador
      
$delimita=',';
      
//Separador de Campo
      
$fincampo='"';
      
//Finalizar lineas
      
$finlinea='\r\n';
      
/*query para cargar txt
Esto anda con la exportación de un csv bien exportado, los otros no andan.
      */
      
$query="LOAD DATA LOCAL INFILE 'apuntes.txt' INTO TABLE apuntenuevoborrador
              FIELDS
              TERMINATED BY '$delimita'
              OPTIONALLY ENCLOSED BY '$fincampo'   
              LINES TERMINATED BY '$finlinea'
              IGNORE 1 LINES"
;
      
//consulta
$result=mysql_query($query$conectar) or die("load -" mysql_error());
if(
$result==true){
echo 
"<br>Se grabaron los datos<br/>";
}else{
echo 
"<br>EROR: No se grabaron los datos<br/>";
}


$borrararchivo unlink('apuntes.txt');
if(
$borrararchivo==true){
echo 
"<br>Se borró el archivo temporal<br/>";
}else{
echo 
"<br>EROR: No se borró el archivo temporal<br/>";
}
?>
 </body>
</html>
Estoy poniendo mas los charset o es algo mas?

Muchasc gracias a todos,

Mariano
  #2 (permalink)  
Antiguo 04/11/2010, 00:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 68
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problemas con codificación php Mysql

Aclaro que en la BD ya se guarda mal... les paso algunos ejemplos copiados de la base:

id facultad nombre paginas precio
Editar Borrar 1 E PRUEBA 200 30
Editar Borrar 2 E INTRODUCCI?N 300 40
Editar Borrar 3 E ?O?O 100 50
Editar Borrar 4 A ? ENIE 200 32
Editar Borrar 5 A ? - A 25 2
Editar Borrar 6 P ? - E 65 56
Editar Borrar 7 P ? - I 300 65
Editar Borrar 10 E 1? - PRIMERO 100 50
Editar Borrar 11 A 7? - SEPTIMO 200 32

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:39.