Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/07/2014, 07:28
Avatar de oMega_2093
oMega_2093
 
Fecha de Ingreso: julio-2014
Ubicación: León, España
Mensajes: 3
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Pasar de ANSI a UTF-8 para multilanguage (y no morír en el intento!)

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/function.mysql-set-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.