php エディター Apple では、postgres データベースを使用するときに、選択後に UTF8 文字が正しくないという問題が発生することがあります。この場合、データベースに保存されている特殊文字が文字化けまたは不正な文字として表示される可能性があります。この問題を解決するには、データベースと接続の文字セットを正しく設定して、文字が正しく表示されるようにします。 postgres データベースを使用する場合、構成ファイルを変更するか、データベースに接続するときに文字セットを設定することで、この問題を解決できます。文字セットを正しく設定すると、さまざまな文字を正しく処理して表示できるようになり、データベースの安定性と信頼性が向上します。
postgresにメールアドレスを含むデータベーステーブルがあります。顧客の 1 人は、電子メール アドレスにウムラウト (ü) を使用しています。これは問題にはならないはずですが、どういうわけか go の文字列に間違ったバイト シーケンス (c3bc ではなく e3bc でした) が含まれていたため、後で多くの問題が発生しました。
client_encoding=utf8
を使用してデータベースに接続し、データベースは utf8 に設定されています。次のコマンドを実行すると、データベース内のバイト シーケンスが予想どおりであることがわかります。
リーリー
データベース/SQL パッケージと postgres ドライバーを使用してデータを読み取っていますが、go で文字列を出力すると、xxxxxxe3bcxxxxxx が表示されます。これは期待したものではありません (繰り返しますが、メールの残りの部分を非表示にしています) ×)。
これはバグですか、それとも何か誤解がありましたか? 解決策データベースが正しく UTF8 に設定されていることを確認してください。データベースの作成時にロケール設定が修正されたため、
LOWER などの SQL 関数で問題が発生する可能性がありました。
pg_dropcluster および
pg_createcluster --encoding=UTF8 を使用してデータベースを再作成します。
以上がpostgres から選択した後の UTF8 文字が正しくないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。