Pregunta

Me gustaría que todos mis herramientas a utilizar UTF-8 pero encuentra que algunos herramientas en Windows parecen utilizar CP1252 (que parece ser específico para Windows). ¿Crea esto de salida que es incompatible y si es así en el que los puntos de código? Si es así, ¿puedo hacer algo al respecto?

(No entiendo por completo los problemas así que estaría agradecido por la educación básica en estas codificaciones).

¿Fue útil?

Solución

Herramientas de codificación dura de página de códigos 1252 en Windows es muy poco probable. Mucho más probable es que pasa a ser la página de códigos predeterminada en su máquina. 1252 se utiliza en Europa occidental y América. Se configura en el Panel de Control, regional y de idioma. Ellos han estado usando diferentes nombres para él, en Win7 se encuentra en la ficha Administrativo, Cambio configuración regional del sistema.

Sí, muchas herramientas utilizar la página de códigos predeterminada a menos que tengan una buena razón para elegir otra codificación. La lista de materiales es una buena razón tal. Ejemplos notables son el Bloc de notas (a menos que cambie la codificación en el diálogo Abrir Archivo + a algo más que ANSI) y los compiladores de C / C ++. Hay por lo general no es nada especial que tiene que hacer para utilizar la página de códigos predeterminada. Adivinar la página de código correcto para un archivo de texto cuando usted no tiene una lista de materiales es imposible hacerlo con precisión. Google "Bush ocultó los hechos" para una historia de guerra muy divertido.

Otros consejos

Seis años y siempre actual: El desarrollador absoluto Cada mínimos de software absolutamente, positivamente debe saber sobre Unicode y el conjunto de caracteres (Sin excusas!)

Ahora, acerca de su pregunta: Sí, todavía hay herramientas que hay que estrangulador en UTF-8 archivos. Pero cada vez más herramientas están "hacerlo". Si está desarrollando su propio material, es posible que desee ver en Python 3, donde todas las cadenas son Unicode. La filosofía es la de convertir todos sus insumos en Unicode (si es necesario) tan pronto como sea posible, y reconvertirlos a una codificación de destino lo más tarde posible. Hay kits de herramientas por ahí que va a hacer un buen trabajo de adivinar la codificación de un archivo en particular (por ejemplo, Mark Pilgrim 's Chardet , un puerto de de Mozilla codificación detector ). Esto es bueno si se trabaja con archivos que no especifican una codificación.

CP1252 y UTF-8 son los mismos para todos los caracteres <128. Se diferencian encima de eso. Así que si usted se pega a Inglés y se mantenga alejado de los signos diacríticos éstos serán los mismos.

La mayoría de las herramientas de Windows a utilizar lo que se establece como página de códigos actual del usuario actual, que por defecto a 1252 para los Estados Unidos de Windows. Puede cambiar eso a otra página de códigos con bastante facilidad. Pero UTF-8 no es una de las opciones de los juegos de caracteres disponibles para Windows. (Ojalá lo fuera).

Algunas de las utilidades en Windows entenderán la UTF-8 marca de orden de bytes en el inicio de un archivo. Por desgracia, no sé cómo determinar si esto funcionará, excepto a intentarlo.

UTF-8 es compatible con Windows, pero no como un actual página de códigos. Puede utilizar UTF-8 para convertir a / de ella, pero no se puede establecer es como página de códigos actual.

En primer lugar no tratar de perder el tiempo mediante el establecimiento de la página de códigos - este enfoque le recordará de Sísifo mito - realmente no se puede resolver el problema con páginas de códigos, usted tiene que utilizar Unicode

.

La única solución real para usted es construir su aplicación como Unicode por lo que utilizará UTF-16 y para convertir a / de UTF-8 sobre las operaciones de entrada / salida. Esto se hace bastante simple porque los soportes fopen leer o escribir UTF-8.

En cuanto al uso de otras herramientas de Windows con UTF-8 archivo, no se debe tener en cuenta porque si la herramienta es capaz de trabajar con ASCII que funciona con UTF-8 (aun así puede que no sea capaz de distinguir entre Unicode caracteres, pero al menos va a ser capaz de cargar / analizar los archivos).

Por cierto, que se olvidó de especificar qué lenguaje de programación se está utilizando y qué herramientas de Windows que están considerando para su uso.

Además, si Ware interesado acerca de internacionalización más cosas por favor visite mi blog.i18n.ro

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top