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

PHP/MySQLエンコーディングの問題。 â��特定の文字の代わりに

    他の人が述べているように、「特殊」文字をサポートする場合は、エンドツーエンドでUTF8に変換する必要があります。これは、Webページ、PHP、mysql接続、およびmysqlテーブルを意味します。 Webページはかなり単純で、UTF8のメタタグを使用するだけです。理想的には、ヘッダーにはUTF8も表示されます。

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    

    UTF8を使用するようにPHPを設定します。とにかくうまくいくと思いますが、これを行うのは良い方法です:

    mb_internal_encoding('UTF-8');
    mb_http_output('UTF-8');
    mb_http_input('UTF-8');
    

    mysqlの場合、テーブルをUTF8に変換する必要があり、エクスポート/インポートする必要はありません。

    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8
    

    mysqlをデフォルトのutf8に構成することができます。ただし、クエリを実行することもできます:

     SET NAMES UTF8
    

    接続を確立した後の最初のクエリとして、データベース接続をUTF8に「変換」します。

    これで、キャラクターの表示に関するすべての問題が解決するはずです。



    1. 区切り文字 '/n' に基づいて列 (文字列) を複数の行に分割する SQL 正規表現

    2. mySqlデータベーステーブルの日付形式を変更する

    3. 一意のランダム番号を生成するPHPMySQL

    4. mysql-別のインデックスで全文検索を支援する方法はありますか?