sql >> データベース >  >> RDS >> Mysql

JDBCの困ったSQL例外

    これらは関連する部分です:

    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL
    syntax; check the manual that corresponds to your MySQL server version for the 
    right syntax to use near '????????????????' at line 1
        ...
        com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1890)
        ...
        java.sql.DriverManager.getConnection(libgcj.so.10)
    

    これらの質問マークは、クライアント文字セットを構成するためのクエリ中に深​​刻な文字エンコードの問題があることを示しています。

    最初の試行として、my.cnf を開きます。 ファイルを作成し、次の2つのエントリが存在することを確認します。

    character_set_server=utf8
    collation_server=utf8_general_ci
    

    2回目の試行として、GCJをOpenJDK に置き換えます。 または Oracle(Sun)JDK これははるかに堅牢です。つまり、GCJには奇妙な点があることが知られています。




    1. dockermysqlコンテナへのログインを有効にする

    2. オートコンプリートフィールド用の同様のUTF-8文字列

    3. DETERMINISTIC、NO SQL、または宣言内のREADS SQL DATAであり、バイナリロギングが有効になっています

    4. PostgreSQLバックアップが適切かどうかはどうすればわかりますか?