J'ai un serveur MySQL avec les paramètres suivants:mysql encodage de caractères
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
J'ai un client Java qui se connecte à cette base de données en utilisant DBCP avec cette config:
<bean id="dsJoomla" class="hu.eutrust.wsfresh.CustomDataSource">
<property name="driverClassName" value="${joomla.db.driver}"/>
<property name="username" value="${joomla.db.user}"/>
<property name="password" value="${joomla.db.pass}"/>
<property name="url" value="${joomla.db.url}"/>
<property name="connectionProperties" value="characterEncoding=UTF-8;useUnicode=true;"/>
</bean>
Puis-je effectuer quelque part dans le code une mise à jour comme celui-ci:
template.update("insert into test (nev) values (:nev)", new MapSqlParameterSource("nev", "Árvíztűrő"));
Après avoir vérifié les résultats dans phpMyAdmin je vois une ligne:
ID NEV
2 Árvízt?r?
Les caractères ő et that qui ne sont pas dans l'ensemble latin1 sont mauvais. Je suppose que c'est parce que le character_set_server est latin1. Mais en utilisant phpMyAdmin je peux éditer manuellement l'enregistrement et entrer 'Árvíztűrő' et après que l'enregistrement est correct. Donc, je suppose qu'il est possible d'entrer la valeur désirée dans la base de données avec ces paramètres. Comment puis-je le faire avec mon client Java? Comment dois-je configurer la connexion? Pourquoi mes caractères ő et go se trompent-ils si la connexion est 100% utf8?
show create table test de sortie est:
CREATE TABLE `test` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`NEV` varchar(64) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
show créer la base de données de sortie joomla est:
CREATE DATABASE `joomla` /*!40100 DEFAULT CHARACTER SET utf8 */
veuillez fournir la sortie de 'show create test de table;' et 'show create database;'. –
Lars
selon http://commons.apache.org/dbcp/configuration.html le 'connectionProperties' doit être séparé avec; – jabal
mis à jour la question avec le «show» requis – jabal