PHP, Linux y acentos

Horst H. von Brand vonbrand en inf.utfsm.cl
Vie Dic 15 12:02:29 CLST 2006


Andrés Ruz Salinas <andres en efusion.tv> wrote:

[...]

> 	Tengo un problema con unas páginas que estoy programando en donde
> tengo un formulario con el cual envío textos con acentos y todo. Cuando este
> formulario es enviado, la página que lo recibe tiene q hacer algunas
> modificaciones a los textos en donde las letras con acentos deben ser
> reemplazadas por un código. El problema está en q los caracteres con acentos
> no los reconoce PHP o sea, si le digo q me convierta el string recibido
> ("áéí") y q me lo cambie en lcada letra con acento por un código, este no es
> capas de encontrar las letras con acentos. Después de analisar el problema
> hice la prueba pasandole la misma cadena pero en duro, o sea en vez de usar
> el string recibido por POST, le pase un string pasado por mi ("áéí") en
> donde los caracteres "son iguales" a los recibidos por POST y de esta forma
> si me funciona. Seguí probando e hice una conversión de los caracteres
> recibidos por POST en código ASCII y estos códigos no son los mismos a los
> caracteres que yo usé en duro.

Escribe en alguna parte lo que recibes... y me late que PHP simplemente no
esta i18ado/UTF-8-izado (no es nada trivial de hacer, BTW).

Ojo, los caracteres acentuados y demas en UTF-8 /no/ son un byte, son
varios. Prueba p.ej. con od(1):

  $ od -t x1
  áéíóú

te da

  0000000 c3 a1 c3 a9 c3 ad c3 b3 c3 ba 0a
  0000013
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile               Fax:  +56 32 2797513


Más información sobre la lista de distribución Linux