comme le titre dit, j'ai un problème entre java et mysqlJava + Mysql UTF8 problème
La base de données mysql, tables et colonnes sont utf8_unicode_ci. J'ai une application qui a une entrée d'un xml, puis composez la requête ...
public String [] saveField(String xmltag, String lang){
NodeList nodo = this.doc.getElementsByTagName(xmltag);
String [] pos = new String[nodo.getLength()];
for (int i = 0 ; i < nodo.getLength() ; i++) {
Node child = nodo.item(i);
pos[i] = "INSERT INTO table (id, lang, value) VALUES (" +
child.getAttributes().getNamedItem("id").getNodeValue().toString() + " , " +
lang + " , " +
"'" + child.getFirstChild().getTextContent() + "'" +
");";
}
return pos;
}
cette méthode renvoie un tableau de String qui contient une ou plusieurs requêtes d'insertion SQL ... puis
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql:///dbname", "user", "pass");
.....
Statement s; s =
this.con.createStatement();
s.execute(query);
à la fois avec s.execyte
et s.executeUpdate
les caractères spéciaux sont stockés en tant que?
donc caractère spécial ne sont pas stockés correctement: מסירות קצרות
est stocké sous forme ?????????
Hi!
est stocké sous forme Hi!
Un conseil?
Merci
Comment lisez-vous le code source XML? Est-ce que ça vient d'un fichier ou est-ce une chaîne d'un service web, ou autre chose? Il est possible que votre lecture originale du fichier XML provoque le problème. –
c'est une chaîne d'un webservice, j'utilise db.parse ("http: // ......") pour obtenir le contenu xml ... – Marcx