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

PHP / MySQL/Apacheで国際文字を適切に処理する方法

    アパッチ

    サーバーエンコーディングは設定されていないか、UTF-8に設定されている必要があります。これは、apacheAddDefaultCharsetディレクティブを介して行われます。これは、仮想ホストまたは一般ファイルに移動できます(ドキュメントを参照)。

    AddDefaultCharset utf-8
    

    MySQL

    • データベースの照合をUTF-8に設定します
    • 接続エンコーディングを設定します。 mysqli_set_charsetで誰かが言ったように、または接続直後にこれを送信することで実行できます:
        SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'
    

    PHP

    1-ページのHTML文字セットをUTF-8に設定するか、ページのメタタグを使用するか、PHPヘッダーを使用する必要があります。

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    -or-
        header('Content-type: text/html; charset=utf-8');
    

    2-文字列の文字列の長さを取得するには、strlenではなくmbstrlenなどの文字列関連関数のmb*バージョンを常に使用する必要があります。

    これにより、ページからデータまで、どこにでもUTF-8を使用できるようになります。実行できるテスト:Firefoxを使用してページの任意の場所を右クリックし、[ページ情報の表示]を選択します。効果的なエンコーディングはそのページにリストされています。



    1. Javaで接続プールを行う方法は?

    2. SQLiteで1年の最初の月曜日を取得

    3. RPMプラットフォームでPostgreSQL9.0拡張機能を構築しない方法

    4. MySQLiプリペアドステートメントをループで使用する場合、いつbind_paramを呼び出しますか?