EC-CUBEで複数選択処理を書いたらJSONでエラー

EC-CUBE 4.2以上・MYSQL方で
商品のカスタマイズや顧客の属性で複数選択のオプション作るとなるとJSON形式にすると思いますが・・・・
エラーになる。プログラムは合っている・・・・

JSONがバイナリー渡しになっているエラーに
「SQLSTATE[22032]: Cannot create a JSON value from a string with CHARACTER SET ‘binary’」

/app/config/eccube/packages/doctrine.yaml にDBとの接続が書いてある。
しかし、デフォルトは「pdo_sqlite」の設定で、セットも細かく書いていない。

こんな感じでしっかり設定を書かないと勝手にバイナリーに・・・

doctrine:
    dbal:
        # × driver: 'pdo_sqlite' これは削除 
        driver: 'pdo_mysql' #  MySQLを明示
        server_version: "%env(DATABASE_SERVER_VERSION)%"
        # charset: '%env(DATABASE_CHARSET)%'
        charset: utf8mb4

        # これが重要です!
        options:
            1002: "SET NAMES 'utf8mb4'"

        # for mysql only
        default_table_options:
            charset: 'utf8mb4'
            collation: 'utf8mb4_bin'

以上、他も変換処理してないか?を確認してね。

関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA