2008-04-20

Cosas raras con los acentos

A veces puede suceder que te aparezcan cosas raras con los acentos y la eñe. Símbolos iniciados con una A mayúscula y seguidos de otros caractéres.

ñ, á, ó... son algunas cositas que nos podemos encontrar. Para ello podemos utilizar la siguiente secuencia de reemplazo en php:


$texto=str_replace("ñ","ñ",$texto);
$texto=str_replace("á","á",$texto);
$texto=str_replace("é","é",$texto);
$texto=str_replace("Ñ","Ñ",$texto);
$texto=str_replace("ó","ó",$texto);
$texto=str_replace("í","í",$texto);
$texto=str_replace("ú","ú",$texto);


Si os apetece también se puede realizar una sencilla función que efectúe los reemplazamientos necesarios.

Relacionado:

Eliminar tildes con php

5 comentarios:

Alex dijo...

En estos casos se usa la función utf8_decode() de PHP... pruébalo!

avanzaweb dijo...

Me parece recordar que lo comprobé en su día pero esta función no trabaja bien si tu página está en iso 8859-1.. de todas formas no lo recuerdo bien... lo que recuerdo es que tenía problemas de pasar una página utf-8 a una 8859-1( o al revés)...así que otra vez que me ocurra lo comprobaré

Avanzaweb dijo...

Lo estuve mirando y sólo lo tenía en una página antigua. En las demás utilizaba utf8_decode. De todas formas tengo que decir que no es recomendable la opción que presento en el artículo. Aunque funcione puede provocar contenido duplicado.

Anónimo dijo...

Pero hombre, eso es una burrada...
Define el charset en el meta y ya está, y si tratas con bases de datos mira su charset y su collation...

avanzaweb dijo...

Sí lo que dices es lo normal en términos generales. Pero a veces te vienen flujos de datos de otros sistemas