21

mysql データベースにアラビア文字を挿入しようとしていますが、「????」しか保存されません。私はmysqlデータベースとの接続に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"/>

DBCP 構成で UTF-8 エンコードをセットアップする方法または使用方法 (useUnicode=yes characterEncoding=UTF-8 ) ?

4

3 に答える 3

36

DBCPのドキュメントによると、connectionProperties値を持つパラメータを使用する必要があるため、[propertyName=propertyValue;]*この場合は次のようなものを使用する必要があります。

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

(締めくくりに注意してください;!)

于 2012-11-13T11:46:36.737 に答える
7

url次のように、パラメーターで指定します。

url="jdbc:mysql://localhost/view_db?useUnicode=yes&amp;characterEncoding=utf8"
于 2012-11-13T11:28:55.370 に答える