MySQL UTF8

Me he visto obligado a tener en una base de datos MySQL que almacenar varios idiomas, tales como Griego, la solución en el servidor de base de datos tal como sigue, también se explica cómo configurar jdbc para el griego:

Habilitar UTF8 en MySQL

 

Las tablas hay que crearlas con la collation UTF8 por defecto, esto se hace cómo:

 

 

Habilitar utf8 en MySQL y en conexiones a MySQL con jdbc

 

Class.forName(“com.mysql.jdbc.Driver”).newInstance();

String cadenaConn = “jdbc:mysql://” + finalsVar.REMOTE_HOST + “:3306/zenknx? useUnicode=true&characterEncoding=UTF8”;

conn = DriverManager.getConnection(cadenaConn, “USER”, “PASS”);

 

Asi se haría la conexión contra la base de datos, y cuando se pretenda usar el Statement para una consulta/ejecución se le debe de añadir lo siguiente:

 

 

Statement stmt = conn.createStatement();

stmt.executeQuery(“SET NAMES ‘UTF8′”);

stmt.executeQuery(“SET CHARACTER SET ‘UTF8′”);

stmt.executeQuery(“SET COLLATION_CONNECTION=utf8_general_ci”);

 

De ésta forma todo lo relacionado con la conexión en Java está configurado.

 

drop database if exists zenknx;

create database zenknx;

use zenknx;

DROP TABLE IF EXISTS `absoluteSegment`;

SET @saved_cs_client = @@character_set_client;

SET character_set_client = utf8;

CREATE TABLE `absoluteSegment` (

`idsql` int(10) unsigned NOT NULL auto_increment,

`id` varchar(100) NOT NULL,

`address` varchar(50) NOT NULL,

`size` varchar(50) NOT NULL,

`idAppProgram` varchar(45) NOT NULL,

PRIMARY KEY (`idsql`)

) ENGINE=InnoDB AUTO_INCREMENT=226 DEFAULT CHARSET=utf8;

SET character_set_client = @saved_cs_client;

 

Anuncios
A %d blogueros les gusta esto: