3 votos

TextEdit elimina las marcas de orden de bytes (BOM) de los archivos Unicode/UTF. ¿Cómo solucionarlo?

Estoy trabajando con archivos UTF-8, pero TextEdit parece no soportar completamente la lista de materiales. Cuando la lista de materiales está presente, hace que los caracteres unicode se muestren correctamente. Sin embargo, al guardar el archivo, la lista de materiales se elimina, por lo que la apertura posterior del archivo en TextEdit hace que se muestren los caracteres "incorrectos".

¿Hay alguna forma de remediarlo? Hay que tener en cuenta que estoy compartiendo archivos con varios usuarios no técnicos, así que cualquier cosa relacionada con la línea de comandos está fuera de lugar. Si la solución es "usar otro editor de texto", esto podría ser aceptable, si es gratuito, y no totalmente diferente de TextEdit - es decir, cuanto más simple, mejor. Pero, idealmente, hay una manera de arreglar TextEdit ...

3 votos

¿Por qué utilizar la lista de materiales? El simple uso de UTF-8 sin BOM evita muchos problemas.

0 votos

Porque TextEdit no reconoce el archivo como UTF-8 sin ella. O, posiblemente, es un artefacto de enviar el archivo por correo electrónico como un archivo adjunto - de cualquier manera, la adición de la lista de materiales resuelve el problema.

1 votos

TextEdit calcula automáticamente la codificación del archivo el diálogo abierto. Si no puede, como en su caso, entonces usted puede elegir UTF-8 en el menú desplegable. Si usted guardar una copia del archivo, también puede elegir la codificación en el menú desplegable.

5voto

TraFoO Puntos 11

Esta no es la solución principal que buscas, pero TextWrangler es gratuito, maneja muy bien UTF-8 (y muchas otras codificaciones) y no tiene también una curva de aprendizaje empinada, sobre todo si sólo se utiliza una funcionalidad similar a la de TextEdit. Sé que te gustaría arreglar TextEdit, y espero que obtengas una respuesta que explique cómo hacerlo, pero en ausencia de una solución primaria, este debería ser un buen plan de respaldo.

5voto

Jeff Bloom Puntos 155

TextEdit → Preferencias → Abrir y guardar

Screenshot

Establezca la "Codificación de archivos de texto plano" en "Unicode (UTF-8)" tanto para abrir como para guardar archivos.

Si eso no lo arregla ya, abre Terminal.app e introduce lo siguiente:

echo "0x08000100:0" > ~/.CFUserTextEncoding

A continuación, cierre la sesión y vuelva a iniciarla.

Esto soluciona el antiguo error de UTF-8 en OS X que también se manifiestan en QuickLook.

Para arreglarlo para un solo archivo en lugar de para todos los archivos (aunque no veo por qué lo harías), simplemente escribe el atributo extendido que usa TextEdit:

xattr -w com.apple.TextEncoding 'UTF-8;134217984' filename.txt

Espero que esto ayude.

0 votos

¿Puede usted por favor arrojar algo de luz sobre lo que la cadena para el ~/. CFUserTextEncoding significa y representa?

1 votos

@ismail Todo se explica en la entrada del blog que he vinculado, pero aquí está un resumen rápido: establece la codificación por defecto a UTF-8 (primer número 0x08000100 ) y el idioma al inglés (segundo número 0 ). El contenido por defecto es 0:0 (macromano e inglés). Aquí tiene más información sobre el ~/.CFUserTextEncoding archivo .

0 votos

Gracias. Configuré el CFUserTextEncoding y el ENV correspondiente. No he notado nada diferente hasta ahora, aunque trato con muchas otras codificaciones. Espero que ayude en el futuro.

1voto

Tom Gewecke Puntos 592

Creo que usar TextWrangler para guardar siempre como "UTF-8 con BOM" es la mejor manera de asegurarse de que todos los demás sistemas verán tus archivos como UTF-8. Otra opción sería utilizar UTF-16 en su lugar, pero eso es inusual y podría confundir a algunos usuarios.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X