¿cuál es la diferencia entre utf8 y latin1?Diferencias entre utf8 y latin1
Respuesta
En latin1 cada personaje tiene exactamente un byte de longitud. En utf8 un personaje puede constar de más de un byte. En consecuencia, utf8 tiene más caracteres que latin1 (y los caracteres que tienen en común no están necesariamente representados por el mismo byte/bytesecuencia).
¿Qué hay de ascii y bin? –
@YoushaAleayoub ASCII es una codificación de un solo byte que utiliza los caracteres 0 a 127, por lo que puede codificar la mitad de caracteres que latin1. Es un subconjunto estricto de latin1 y utf8, lo que significa que los bytes 0 a 127 en latin1 y utf8 codifican las mismas cosas que en ASCII. Bin no es una codificación. Por lo general, es una opción que puede dar cuando lee un archivo, indicando a las funciones de IO que no apliquen ninguna codificación, sino que simplemente lee el byte de archivo por byte. – sepp2k
gracias, me refería a la compilación 'binaria' ...? y cuál es mejor para los campos en inglés/numéricos: 'ascii_general_ci' o' ascii_bin'? –
UTF-8 está preparado para la dominación del mundo, Latin1 no lo es.
Si intenta almacenar caracteres no latinos como chino, japonés, hebreo, cirílico, etc. utilizando la codificación Latin1, entonces terminarán como mojibake. Puede encontrar útil el texto introductorio de this article (y aún más si conoce un poco Java).
Tenga en cuenta que la compatibilidad total con UTF-8 solo se introdujo en MySQL 5.5. Antes de esa versión, solo llega a 3 bytes, no a 4 bytes por personaje. Si desea soporte completo para UTF-8, actualice MySQL a al menos 5.5 o elija otro RDBMS como PostgreSQL.
es 4 bytes por punto de código, no carácter. –
Mysql 5.1 admite 3 bytes UTF-8, pero Mysql 5.5 [no admite] (http://dev.mysql.com/doc/refman/5.5/en/charset-unicode.html) 4 bytes UTF-8 como utf8mb4. – velcrow
Cierto, pero MySQL 5.5 no era GA en el momento en que se publicó esta respuesta. Fue lanzado en diciembre de 2010. – BalusC
- 1. Convierte latin1 a UTF8
- 2. ¿Convertir cadena latin1 a utf8?
- 3. MySQL Convertir datos latin1 a UTF8
- 4. MySQL - Convertir caracteres latin1 en una mesa de UTF8 en UTF8
- 5. Convertir tablas de mysql de latin1 a utf8
- 6. utf-8 vs latin1
- 7. ¿Hay diferencias entre "y"
- 8. Convertir entre Data.ByteString y Data.Text codificado en Latin1
- 9. Diferencias entre OTL y SOCI
- 10. Diferencias entre JPA y JPA2
- 11. diferencias entre scipy.sparse.linalg.lsmr y scipy.sparse.linalg.lsqr
- 12. Diferencias entre App.Config y Web.Config?
- 13. Diferencias entre `input` y` raw_input`
- 14. Diferencias entre Sproutcore y Ember
- 15. Diferencias entre Excepción y Error
- 16. Diferencias entre Proc y Lambda
- 17. Diferencias entre NoClassDefFoundError y ClassNotFoundException?
- 18. ¿Diferencias entre Smalltalk y python?
- 19. Diferencias entre Ant y Maven
- 20. diferencias entre memchr() y strchr()
- 21. Diferencias entre DB2 y Oracle
- 22. Diferencias entre textMultiLine y textLongMessage
- 23. Diferencias entre Narwhal y Node.js?
- 24. Diferencias entre SwingWorker y Executor
- 25. Diferencias entre Camel y BPEL
- 26. Diferencias entre AForge y OpenCV
- 27. Diferencias entre funtores y endofunctors
- 28. Diferencias entre Perl y PHP
- 29. Diferencias entre .ContextMenu y .ContextMenuStrip
- 30. Diferencias entre Java y C# y .NET
Son codificaciones diferentes (con * algunos * caracteres asignados a secuencias de bytes comunes, por ejemplo, los caracteres ASCII y muchas letras acentuadas). UTF-8 es una codificación de Unicode con todos sus puntos de código; Latin1 codifica menos de 256 caracteres. – ShreevatsaR