Foros del Web » Programando para Internet » PHP »

Problemas con los acentos:

Estas en el tema de Problemas con los acentos: en el foro de PHP en Foros del Web. Hola. Mi pregunta es simple: Abro un archivo de texto que tiene acentos (ó, í, é, á, etc., la letra ñ, etc.). Cuando lo abro ...
  #1 (permalink)  
Antiguo 28/02/2010, 14:31
Avatar de principiantedelphp  
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 14 años, 8 meses
Puntos: 1
Problemas con los acentos:

Hola. Mi pregunta es simple: Abro un archivo de texto que tiene acentos (ó, í, é, á, etc., la letra ñ, etc.). Cuando lo abro con php y copio las filas a la base de datos mysql, me corta el texto. Por ejemplo: "Esta es una canción muy bonita" me pone en la base de datos "Esta es una canci". O sea, me corta la frase.
Pregunto: Se que puedo abrir word o dw y reemplazar los acentos por &aacute, &eacute etc. Pero ¿Como se puede hacer con php?
En síntesis: ¿Tengo que cambiar los acentos a mano o usando DW o word? ¿Que mas o menos tendría que tener el código para que pueda cambiarlos a medida que va leyendo el archivo de texto? Gracias
  #2 (permalink)  
Antiguo 28/02/2010, 15:30
Avatar de principiantedelphp  
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Problemas con los acentos:

Alguien sabe? Para simplificar, me refiero a los caracteres especiales. Gracias
  #3 (permalink)  
Antiguo 28/02/2010, 15:43
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 3 meses
Puntos: 66
Respuesta: Problemas con los acentos:

Esque es muy raro lo que dices, has mirado que codificación tienes puesta para ese campo (utf8_general etc.), longitud valores etc.

Intenta aportar más datos.

Saludos
__________________
Tu álbum de cromos online!!
  #4 (permalink)  
Antiguo 28/02/2010, 16:20
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 16 años
Puntos: 6
Respuesta: Problemas con los acentos:

Me pasaba lo mismo.

Seguramente tienes la BD configurada para usar UTF8. Esto se arregla usando la función utf8_encode con cada string que le metas a la BD.

Saludos
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM
  #5 (permalink)  
Antiguo 28/02/2010, 16:20
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 9 meses
Puntos: 14
Respuesta: Problemas con los acentos:

"Esta es una canci" tienes el varchar de la base de datos puesto a 19 o 20 caracteres seguramente...cambialo por mas.
  #6 (permalink)  
Antiguo 01/03/2010, 08:24
Avatar de principiantedelphp  
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Problemas con los acentos:

No AdrianSeg, creo que ese no es el problema. Mira, lo del utf8 está considerado. El tema es que tengo algunos archivos de texto en el cual la letra "o" acentuada está como "ó" y en otros archivos está como "&oacute", y el problema no se como unificarlos para enviar a la base de datos como "ó". EL problema es que con "utf-8" está todo ok con "&oacute" (lo transforma en ó), pero a la ó la corta. Ejemplo: "canción muy linda" en el archivo de texto lo coloca en la base de datos como "canci". En cambió, si tengo "canci&oacuten muy linda" en el archivo de texto lo cambia por "canción muy linda" en la base de datos, sin problemas.
Eso pasa con todos los caracteres especiales: Acentos, ñ, etc. Bueno, muchas gracias por la ayuda, veré como lo soluciono manualmente reemplazando los caracteres especiales con caracteres html.
Cualquier ayuda acepto. Gracias.
  #7 (permalink)  
Antiguo 01/03/2010, 08:30
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Problemas con los acentos:

htmlspecialchars()
htmlentities()
__________________
HV Studio
Diseño y desarrollo web
  #8 (permalink)  
Antiguo 01/03/2010, 09:01
Avatar de principiantedelphp  
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Problemas con los acentos:

Jackson excelente información. Probé este código:

Cita:
<?php
$str = "Mi canción";
echo htmlentities( $str);
?>
Yo quiero que salga "Mi canci&oacuten" y sale "Mi canción"
  #9 (permalink)  
Antiguo 01/03/2010, 09:19
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Problemas con los acentos:

Código PHP:
<?php
$string 
"Mi canción";
$format htmlentities($string,ENT_QUOTES,'ISO-8859-15');
?>
<script>
alert("<?php echo $format?>");
</script>
Si leyeras bien el link que te di, lo hubieses sacado solo...
__________________
HV Studio
Diseño y desarrollo web
  #10 (permalink)  
Antiguo 01/03/2010, 09:34
Avatar de principiantedelphp  
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Problemas con los acentos:

OK cumpa, tenés razón

Etiquetas: acentos
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 21:19.