私は以前に同じ問題を経験しました、そして私がしたことは次のとおりです
1)notepad ++(ほとんどすべてのエンコーディングに適応できます)またはEclipseを使用し、必ずBOMなしでUTF-8に保存または開くようにしてください。 。
2)header('Content-type: text/html; charset=UTF-8');
を使用して、PHPヘッダーにエンコードを設定します。
3)PHPファイルの最初と最後の余分なスペースをすべて削除します。
4)すべてのテーブルと列のエンコーディングをutf8mb4_general_ci
に設定します またはutf8mb4_unicode_ci
PhpMyAdminまたはお持ちのmySQLクライアントを介して。 2つのエンコーディングの比較が利用可能です
5)mysql接続文字セットをUTF-8に設定します(データベース接続にはPDOを使用します)
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET utf8"
または、データをフェッチする前にSQLクエリを実行するだけです
6)メタタグを使用する<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7)フランス語に特定の言語コードを使用する<meta http-equiv="Content-language" content="fr" />
8)html要素のlang属性を目的の言語に変更します
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
以前のプロジェクトで日本語のキャラクターを扱っていたため、以前はこの問題を解決するのに本当に苦労したので、これをさらに更新する予定です
9)一部のフォントはクライアントPCで使用できないため、Googleフォント を使用する必要があります。 CSSに含める
10)PHPソースファイルを?>
で終わらせないでください
注:
ただし、上記のすべてが機能しない場合は、実際に表示する文字セットに応じてエンコーディングを調整してみてください。私にとっては、すべてをSHIFT-JIS
に設定します。 私のすべての日本語の文字を表示するために、それは本当にうまくいきます。ただし、UFT-8
を使用する あなたの優先事項でなければなりません