encoding - Notepad++ puede reconocer la codificación?
text-files (3)
Debe comprobar la esquina inferior derecha de la GUI de Notepad ++ para ver el código real que se está utilizando. El problema no es que el Notepad ++ sea específico porque adivinar la codificación correcta es un gran problema sin ninguna solución real, por lo que es mejor dejar que el usuario decida cuál es la codificación más adecuada en cada caso.
Creé un archivo con contenido codificado en UTF-8 (usando PHP fputcsv).
Cuando abro este archivo en Notepad ++, los caracteres son incorrectos (Notepad ++ comienza con la codificación ANSI).
Cuando configuro Formato -> "Codificar en UTF-8" desde el menú - todo está bien.
Me preocupa que Notepad ++ pueda reconocer la codificación de alguna manera, y tal vez algo esté mal con mi archivo creado con fputcsv
. Primer byte o algo?
Detectar automáticamente una codificación no es algo que se pueda hacer con precisión. Es bastante esencial que la codificación se especifique explícitamente. Se puede adivinar en algunos casos, pero incluso así no con 100% de certeza.
Esta documentación ( Codificación ) explica la situación en relación con Notepad ++. También señalan que la dificultad surge especialmente si el archivo no se ha guardado con una Marca de Orden de Byte (BOM).
Dado que el archivo se muestra correctamente una vez que configura manualmente la codificación, diría que no hay nada de malo en cómo está generando y guardando el archivo. Lo único que puede verificar es si se está guardando una lista de materiales, lo que podría mejorar las posibilidades de que Notepad ++ pueda detectar automáticamente la codificación.
Vale la pena señalar que, aunque puede ayudar a editores como Notepad ++ a identificar la codificación con mayor precisión, de acuerdo con el documento estándar de Unicode, no se recomienda la lista de materiales.
Cuando desee reflejar la codificación del archivo de texto en un programa Java, debe considerar dos thnigs: codificación y conjunto de caracteres. Cuando abre un archivo de texto, ve la codificación en el menú "Codificación". Además, mira el punto del menú de conjunto de caracteres. En "Europa del Este" encontrará "ISO 8859-2", y en Europa Central "Windows-1250". Puede configurar la codificación correspondiente en el programa Java cuando busca en la tabla: https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html Por ejemplo, para Cenntral European juego de caracteres "Windows-1250", la tabla sugiere la codificación Java "Cp1250". Establezca la codificación y verá los caracteres en el programa correctamente.