Go ドライバーを使用して挿入するときの MySQL エンコードの問題

WBOY
リリース: 2024-02-09 16:00:10
転載
530 人が閲覧しました

Go ドライバーを使用して挿入するときの MySQL エンコードの問題

php Xiaobian Yuzai は、Go ドライバーを使用して挿入する場合の MySQL コーディングの問題の解決策を提供します。 Go を使用して MySQL 挿入操作を作成すると、コーディングの不整合が発生し、データの挿入が文字化けしたり、挿入に失敗したりすることがあります。この記事では、この問題を解決し、データ挿入操作をよりスムーズにする方法を詳しく紹介します。

質問内容

utf-8テキストをlatin1_swedish_ciとしてエンコードされたテーブルに保存しようとしています。データベースに直接アクセスできないため、エンコードを変更できません。そこで、エンコーダーを提供するこの go ライブラリを使用してテキストを latin-1 にエンコードしようとしています。このライブラリには、エラーを返す代わりに無効な文字を置き換えるようにエンコーダーをラップする関数があります。

しかし、行を挿入しようとすると、mysql は エラー 1366: 行 1 列 "説明" の文字列値が正しくありません: "\\xe7\\xe3o pa..." というメッセージを表示します。

同じテキストをファイルに書き込もうとしたところ、file -i によって file.txt: application/octet-stream;charset=binary が報告されました。

###例### リーリー

非常に明白な何かが欠けている可能性がありますが、コーディングについてはほとんど知りません。

###前もって感謝します。

解決策

çã

を期待していますか?

問題は簡単に解決できます。 inserting

テキストを実行すると、mysql は latin1 から utf8 に問題なく変換します。ただし、クライアントが latin1 を使用していることを伝える必要があります。これは、mysql への接続中に実行される可能性があります。現在、デフォルトは utf8、utf-8、または utf8mb4 に設定されています。少し似ている### リーリー

以上がGo ドライバーを使用して挿入するときの MySQL エンコードの問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!