Tengo un script de Perl que imprime cierta información en la consola en ruso. El script se ejecutará en varios sistemas operativos, por lo que la codificación de la consola puede ser cp866, koi8-r, utf-8 o alguna otra. ¿Hay alguna manera portátil de detectar la codificación de la consola para que pueda configurarla como corresponde para que el texto se imprima correctamente?Autodetectar codificación de salida de consola en Perl
Respuesta
Si está en Windows, hay Win32::Codepage.
No funciona en Windows. Al menos no pude hacer que funcione. Creo que depende de las variables de entorno para detectar la codificación de la consola, que generalmente no están configuradas en Windows. – n0rd
Eso es interesante: 'Term :: Encoding :: get_encoding()' devuelve 'utf-8' en mi Windows Server 2012 usando cygwin perl. 'chcp' muestra que la consola está realmente en' cp-437', pero los scripts perl pueden imprimir caracteres no latinos correctamente. Entonces estoy confundido ahora. – n0rd
Descubra por qué el resultado del comando 'chcp' y la API [GetConsoleOutputCP] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms683169 (v = vs.85) .aspx) llamar no está de acuerdo. Pruebe con un Perl nativo en lugar de Cygwin. – daxim
- 1. MSBuild.exe codificación de salida
- 2. Consola de formato Salida
- 3. Problema de codificación al capturar la salida de la aplicación de consola en una prueba
- 4. Codificación de salida SVN en PowerShell
- 5. Salida de la consola MATLAB
- 6. Salida de consola C++ en Netbeans
- 7. C++ cambio de salida en la consola
- 8. Sin salida de consola en cout
- 9. Perl - formato de salida DateTime
- 10. PowerShell: envíe la salida de la consola al archivo sin ensordecer esta salida de la consola
- 11. Salida de consola de color Xcode
- 12. Windows GUI + Salida de consola, estilo Linux
- 13. vbscript salida a la consola
- 14. Ver la salida de la consola eliminada
- 15. salida como codificación UTF-8 en Java
- 16. UTF-8 salida en la consola de Windows
- 17. Cómo obtener la codificación CMD/consola en C#
- 18. codificación de uso de Perl pragma rompiendo cadenas UTF
- 19. Perl - Codificación de archivos y comparación de palabras
- 20. Salida de información de depuración en la consola
- 21. El filtrado de la salida de la consola en Eclipse
- 22. ¿Qué comandos de salida de consola están disponibles en Erlang?
- 23. Salida de consola de color con C++ en Windows
- 24. Visualización de la salida de la consola NUnit en CruiseControl.NET
- 25. Salida de la consola de captura C# en Windows 7
- 26. salida de la consola Desactivar en subprocess.Popen en Python
- 27. ¿Cómo puedo adivinar la codificación de una cadena en Perl?
- 28. Codificación en Perl: búsqueda de variables no utilizadas
- 29. Especificadores de color Perl con salida redirigida
- 30. ¿Cómo especificar la codificación del archivo de salida en Ruby?
El script se ejecutará en cualquier sistema operativo – n0rd
En una consola de Windows, esta es la mejor solución que conozco. No conozco una forma de detectar la codificación de salida en Linux u otros sistemas similares a Unix. Normalmente configuro el terminal con codificación UTF-8 y lo uso para Perl. En Windows, hasta donde yo sé, no es posible configurar la página de códigos de la ventana del terminal. En cuanto a una solución portátil, sería genial, pero no sé si existe. –
En la consola de Windows, la codificación se establece con el programa 'chcp', supongo que también hay una solución programática. De todos modos, forzar alguna codificación de consola particular no es una solución. – n0rd