come dice il titolo, ho un problema tra Java e MySQLJava + Mysql UTF8 Problema
Il DB MySQL, le tabelle e colonne sono utf8_unicode_ci. Ho un'applicazione che ha avuto qualche input da un xml, quindi comporre la query ...
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;
}
questo metodo restituisce un array di stringa che contiene uno o più inserto SQL Query ... poi
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql:///dbname", "user", "pass");
.....
Statement s; s =
this.con.createStatement();
s.execute(query);
entrambi con s.execyte
e s.executeUpdate
i caratteri speciali sono memorizzati come?
quindi carattere speciale non vengono memorizzati in modo corretto: מסירות קצרות
viene memorizzato come ?????????
Hi!
viene memorizzato come Hi!
Qualche consiglio?
Grazie
Come stai leggendo l'XML di origine? Proviene da un file o è una stringa da un servizio Web o qualcos'altro? È possibile che la lettura originale del xml stia causando il problema. –
è una stringa da un webservice, io uso db.parse ("http: // ......") per ottenere il contenuto xml ... – Marcx