Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/07/2014, 15:58
dezagus
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Pasar de ANSI a UTF-8 para multilanguage (y no morír en el intento!)

Cita:
Iniciado por oMega_2093 Ver Mensaje
Hola,

Hay muchos puntos en los que debes especificar codificación UTF-8, no sólo en los ficheros PHP. Para convertir un fichero a otra codificación yo utilizo Notepad++, que convierte de ANSI a UTF-8 (sin BOM) sin perder los caracacteres especiales.

Pero eso por sí sólo no es suficiente. Tienes que especificar UTF-8 también en el HTML con la metaetiqueta correspondiente. También en el servidor de base de datos, si lo hubiera: cada campo tiene su opción de juego de caracteres, cada tabla, y cada conexión... Desde PHP mírate http://www.php.net/manual/es/functio...et-charset.php . Por último se me ocurre también enviar un cabecero (http://es1.php.net/manual/es/function.header.php) indicando que es UTF-8.

El servidor web también tiene que servir UTF-8. Por defecto Apache (al menos en Debian) no sobreescribe la codificación, pero si se ha cambiado ese ajuste puede estar haciéndolo, indiques lo que indiques en tus ficheros o cabeceros.

Recuerda utilizar la opción de Notepad++ de CONVERTIR EN... en lugar de la CODIFICAR EN..., porque la primera convierte los caracteres especiales de una codificación a otra y los mantiene, y la otra no lo hace y al cambiar la codificación los destruye.

Saludos.
Suena bastante complicado en relación a riezgo / beneficio. ¿Existe alguna manera de plasmar carácteres especiales en constantes usando ANSI tanto en PHP como en el meta?

Es muy poco el texto que tengo que traducir, PERO, el problema es que es un servicio de alta disponibilidad, y por lo que cuentas, SUENA a que realmente saldrá desastroso a menos que lo haga en fases y en un entorno sumamente controlado (localhost) y luego pasar a trabajo.

Gracias por tu data! Casi me diste un "step by step" (Y)