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

utf-8文字列をデータベースに挿入してからWebページに出力する際の問題

    はい、できます。
    Mysqlサーバーに、必要なデータエンコーディングを指定していません。
    ページエンコーディングが保存されているデータエンコーディングと異なる場合、Mysqlは任意のエンコーディングを提供できます。そして、その場で再コーディングします。
    したがって、クライアントの優先エンコーディング(PHPコードはそのデータベースクライアントです)を通知する必要があります。
    デフォルトでは、latin1です。 。したがって、latin1文字テーブルにはそのような記号がないため、代わりに疑問符が返されます。

    mysqlに必要なエンコーディングを伝えるには2つの方法があります:

    • もう少し好ましいのはmysqli_set_charset() 関数(あなたの場合のメソッド)。
    • あまり好ましくないのはSET NAMES クエリ。

    ただし、mysqli拡張機能を適切に使用している限り、実際には問題ではありません。 (あなたはそうではありませんが)

    mysqlでは、このエンコーディングはutf8と呼ばれることに注意してください 、ダッシュやスペースなし。



    1. JavaJUnitテスト用の組み込みPostgreSQL

    2. Addnoderesolv.confの失敗

    3. テンプレートデータベースコレクションのコーディングを変更する方法

    4. SQLServer2017でデータベースをバックアップする