アパッチ
サーバーエンコーディングは設定されていないか、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を使用してページの任意の場所を右クリックし、[ページ情報の表示]を選択します。効果的なエンコーディングはそのページにリストされています。