"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo escribir cadenas UTF-8 en MySQL usando JDBC sin problemas de codificación de caracteres?

¿Cómo escribir cadenas UTF-8 en MySQL usando JDBC sin problemas de codificación de caracteres?

Publicado el 2024-11-08
Navegar:584

How to Write UTF-8 Strings into MySQL Using JDBC Without Character Encoding Issues?

Cómo escribir correctamente cadenas UTF-8 en MySQL a través de la interfaz JDBC

La configuración de MySQL es crucial para manejar correctamente la codificación de caracteres UTF-8. Asegúrese de que el servidor y el cliente MySQL estén configurados adecuadamente para evitar la confusión de caracteres.

Garantizar la configuración correcta

Para verificar su configuración de MySQL, ejecute estos comandos:

show variables like 'character%';
show variables like 'collation%';

Modificaciones de configuración

Para versiones de MySQL 5.1.nn y posteriores (incluida 5.5.29):

[mysqld]
character-set-server = utf8
character-set-filesystem = utf8

Para versiones de MySQL 5.0.nn y anteriores:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character-set-server=utf8

Conectando a MySQL con Java

Establezca una conexión a MySQL en su código Java usando el controlador JDBC y especificando la codificación de caracteres explícitamente:

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");

Consejos adicionales

  • Utilice codificación UTF-8 en todo su programa, incluidas consultas de bases de datos, conjuntos de resultados y cadenas. literales.
  • Considere utilizar una biblioteca contenedora JDBC que maneje la codificación de caracteres automáticamente, como Spring JDBC.
  • Verifique que las tablas y columnas de la base de datos se creen con el juego de caracteres y la intercalación correctos.
  • En su caso específico, eliminar la configuración explícita del juego de caracteres (query = "set Character set utf8";) puede haber resuelto el problema, ya que podría haber causado un conflicto.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3