問題タブ [mysql-loadfile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - Cloud SQL: Python クライアント API は、CSV ファイルのインポート時にデフォルトで utf8mb3 文字セットになります
Google Cloud のインポート API を使用して、Google Cloud Storage の CSV ファイルを Cloud SQL MySQL 5.7 データベースに読み込みます。
https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances/import
インポート API は、「utf8」文字セットを想定する MySQL データベースへの LOAD DATA INFILE コマンドを生成します。ただし、私の CSV ファイルのデータは、「utf8」のスーパーセットである「utf8mb4」エンコーディングを使用しています。これにより、一部の文字列を 'utf8' にエンコードできない場合、ロード プロセスが失敗します。
関連記事: "'message': "Import CSV error: Error 1300: Invalid utf8 character string:"
インポート API (またはその他の文字セット) を使用して 'utf8mb4' CHARACTER SET を追加する方法はありますか?
'csvImportOptions' ディクショナリに 'character set': 'utf8mb4' を追加して実験してみましたが、インポート API はその dict で 'table' および 'columns' キーのみを想定しているようです。
MySQL クライアントから LOAD DATA INFILE コマンドを直接実行すると、問題なく CSV をインポートできることに注意してください。
追加データ ポイント Google の API が生成している LOAD DATA INFILE クエリがデフォルトで 'utf8' 文字セットになっていることは明らかです。
API と同じエラー メッセージで失敗する
作品:
ここのドキュメントは正しくありません: https://cloud.google.com/sql/docs/mysql/import-export/importing
mysql - MySQL 文字セットと照合
MySQL 5.7 を使用していますが、ベトナム語を正しく表示するように設定する方法がわかりません。
設定しました
その後、「LOAD DATA LOCAL INFILE」を使ってベトナム人が書いたデータをデータベースに読み込みました。
しかし、ベトナム語の文字表示でエラーになることがよくあります。
詳細なコードとファイルについては、次のリンクとして私の GitHub から確認してください。
https://github.com/fivermori/mysql
これを解決する方法を教えてください。ありがとう。