Foros del Web » Programando para Internet » PHP »

recuperar campos con tildes

Estas en el tema de recuperar campos con tildes en el foro de PHP en Foros del Web. Hola, tengo una base de datos sql server que no puedo modificar donde el collation es SQL_Latin1. Al ecuperar desde php un valor que tiene ...
  #1 (permalink)  
Antiguo 07/06/2010, 12:27
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta recuperar campos con tildes

Hola,

tengo una base de datos sql server que no puedo modificar donde el collation es SQL_Latin1.

Al ecuperar desde php un valor que tiene tilde me saca símbolos raros (ej: al pedir Martín devuelve Martön).

Entiendo que esto es por algún tema de conversión entre Latin1 y UTF-8, sabéis cómo puedo desde el código de PHP solucionar esto?

Gracias.

Mi código:
Código PHP:
 <?php

  $nombre1 
"pepe";

  
$link mssql_connect($serveruser_dbSAP$pwd_databaseSAP);
  
mssql_select_db($dbn);
  
  
$sql_nombre mssql_query("SELECT nombre, apellidos where nombre ='".$nombre1."'");

  while (
$row_nombre mssql_fetch_array($sql_nombre)){
    
$nombre $row_nombre['nombre']; //pepe
    
$apellido $row_nombre['apellido']; //martín - Así aparece en la BBDD
  
}

  echo 
$nombre//pepe
  
echo $apellido//martön - Así lo recupero/imprimo desde el código.

?>
  #2 (permalink)  
Antiguo 07/06/2010, 12:32
Avatar de dots3r  
Fecha de Ingreso: julio-2008
Mensajes: 106
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: recuperar campos con tildes

Prueba usando la funcion utf8_encode():
Código PHP:
<?php
$nombre 
utf8_encode($row_nombre['nombre']);
?>
  #3 (permalink)  
Antiguo 07/06/2010, 12:35
 
Fecha de Ingreso: junio-2005
Mensajes: 54
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: recuperar campos con tildes

Hola, prueba con esto, colocalo despues de conectarte con la base de datos:

Código PHP:
   mysql_query ("SET NAMES 'utf8'"); 
tambien intenta colocar esto en el archivo que muestras tus campos

Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  #4 (permalink)  
Antiguo 07/06/2010, 13:05
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: recuperar campos con tildes

No me funciona ninguna de las 2 soluciones... si que saca símbolos distintos según las distintas variantes que he probado pero sigue sin sacarlo bien.

dots3r, con tu solución solo cambia el símbolo raro que sale.

teksukamen, es MSSQL no MYSQL, nusé si eso hace que afecte lo de:

Código PHP:
 mysql_query ("SET NAMES 'utf8'"); 
Yo he puesto y no ha funcionado.
Código PHP:
mssql_query("SET NAMES 'utf8'"); 
Antes tenía puesto:
Código HTML:
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ISO-8859-1" /> 
Alguna otra idea?

Gracias.
  #5 (permalink)  
Antiguo 07/06/2010, 14:04
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: recuperar campos con tildes

Prueba con las funciones MultiByte mb_convert_encoding
  #6 (permalink)  
Antiguo 07/06/2010, 16:06
 
Fecha de Ingreso: junio-2005
Mensajes: 54
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: recuperar campos con tildes

Cita:
Iniciado por mariaalgarra Ver Mensaje
No me funciona ninguna de las 2 soluciones... si que saca símbolos distintos según las distintas variantes que he probado pero sigue sin sacarlo bien.

dots3r, con tu solución solo cambia el símbolo raro que sale.

teksukamen, es MSSQL no MYSQL, nusé si eso hace que afecte lo de:

Código PHP:
 mysql_query ("SET NAMES 'utf8'"); 
Yo he puesto y no ha funcionado.
Código PHP:
mssql_query("SET NAMES 'utf8'"); 
Antes tenía puesto:
Código HTML:
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ISO-8859-1" /> 
Alguna otra idea?

Gracias.
Este, si disculpa, es k no duermo desde ayer, mejor voy a dormir algo... saludos
  #7 (permalink)  
Antiguo 08/06/2010, 10:33
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: recuperar campos con tildes

Cita:
Iniciado por rpv Ver Mensaje
Prueba con las funciones MultiByte [URL="http://www.php.net/manual/en/function.mb-convert-encoding.php"]mb_convert_encoding[/URL]
Nada... tampoco me vale
  #8 (permalink)  
Antiguo 08/06/2010, 13:17
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: recuperar campos con tildes

¿Has probado utf8_decode?
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #9 (permalink)  
Antiguo 10/06/2010, 11:08
 
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: recuperar campos con tildes

Cita:
Iniciado por spider_boy Ver Mensaje
¿Has probado utf8_decode?

Si, entonces en vez de "martín" me saca "mart"...

Tb he probado a cambiar el charset en el php.ini y nada...

Etiquetas: campos, recuperar, tildes
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 20:39.