2012-11-13 5 views
20

Ich versuche, arabischen Buchstaben in mysql-Datenbank einfügen, aber es speichert nur "????". Ich verwende DBCP für mit mysql databse verbindet, ist hier die Datenquelle:wie zu verwenden (useUnicode = yes characterEncoding = UTF-8) mit DBCP

  <Resource name="jdbc/view_db" 
     auth="Container" 
      type="javax.sql.DataSource" 
      username="root" 
      password="" 
      autoReconnect="true" 
      testOnBorrow="true" 
      validationQuery = "SELECT 1" 
      driverClassName="com.mysql.jdbc.Driver" 
      url="jdbc:mysql://localhost/view_db" 
      maxActive="50" 
      maxIdle="10"/> 

wie mit UTF-8-Codierung Setup in DBCP Konfiguration oder, wie zu benutzen (useUnicode = yes characteren = UTF-8)?

+0

Just checking, haben Sie Standard-Zeichensatz UTF-8 angeben, während der Erstellung von MySQL-Datenbank? – shazin

+0

ja, ich habe CHARACTER SET utf8, es akzeptieren arabische Buchstaben, wenn sie manuell eingegeben werden, aber es funktioniert nicht, wenn ich versuche, sie aus JSP-Datei einfügen. – solid

Antwort

33

der DBCP documentation Nach der Parameter connectionProperties mit Wert [propertyName=propertyValue;]* verwenden müssen, so in Ihrem Fall, dass Sie so etwas wie verwenden sollte:

 driverClassName="com.mysql.jdbc.Driver" 
     url="jdbc:mysql://localhost/view_db" 
     connectionProperties="useUnicode=yes;characterEncoding=utf8;" 
     maxActive="50" 

(beachten Sie das Schließen ;!)

5

Geben Sie es im url Parameter, wie folgt aus:

url="jdbc:mysql://localhost/view_db?useUnicode=yes&amp;characterEncoding=utf8" 
+1

Ich habe es getan, aber es hieß "Konnte die Tomcat-Serverkonfiguration unter \ Servers \ Tomcat v7.0 Server bei localhost-config nicht laden. Die Konfiguration ist möglicherweise beschädigt oder unvollständig. Der Verweis auf die Entität" characterEncoding "muss mit dem enden ';' Trennzeichen. " was bedeutet das? – solid

+2

Sie müssen & in useUnicode = ja verwenden & characterEncoding = utf8 – mrgrumpy22

7

Ich versuchte Folgendes und es funktionierte für mich mit tomcat 7.0.40 und MySQL 5.5 auf Debian Wheezy Feld:

url="jdbc:mysql://localhost:3306/mydb?useUnicode=true&amp;characterEncoding=utf8" 

Beachten Sie, dass & müssen & amp dargestellt werden;

auch sicherstellen, dass Ihre my.cnf für Ihren MySQL-Server die folgenden Zeilen haben:

[client] 
default-character-set=utf8 

[mysql] 
default-character-set=utf8 
Verwandte Themen