2012-02-24 15 views
6

Si tuviera que escribir un nuevo archivo php, e incluir echo "current mb_internal_encoding: ".mb_internal_encoding(), ¿de dónde vendría el valor de salida? ¿Cómo se "decide"/cómo se gobierna?¿De dónde viene el valor predeterminado mb_internal_encoding()?

Antecedentes: Escribí una aplicación web en la que pensé que había hecho todo lo posible para establecer todo el sitio a UTF-8 y se encontró que todavía necesitaba para establecer este valor manualmente ...

Respuesta

6

Depende del entorno de mbstring.internal_encoding in php.ini.

+1

Interesante. Tengo '; mbstring.internal_encoding = EUC-JP' por lo que no está activo. También encuentro '; mbstring.language = Japanese','; mbstring.http_output = SJIS'. Estoy desarrollando el uso de la pila WAMPserver, no tengo idea de por qué todos están configurados para conjuntos Jpz. ¿Alguna razón por la que no debería pasar por todo el php.ini y reemplazar cualquier mención de un juego de caracteres con ''tú-8''? – JDelage

+0

Si no lo configuro manualmente, 'mb_internal_encoding()' aparece como ISO-8859-1 ... – JDelage

+1

Jup, por alguna razón, PHP le gusta ISO-8859 como valor predeterminado. Debe manejar estas configuraciones en su aplicación para mantenerla portátil. Cambiar el php.ini donde quiera que desee implementar su aplicación a menudo no es la solución más conveniente. – deceze

Cuestiones relacionadas