デフォルトでは、すべてのホスティングプランでデータベース接続に utf8mb4 エンコーディングが使用されます。ウェブサイトがかなり前に開発された場合、エンコーディングが正しく表示されないことが稀にあります。
通常の文字の代わりに「文字化け」と呼ばれる、機械の象形文字のような記号が表示されます。これは、データベースとそのすべてのテーブルが utf8mb4 とは異なるエンコーディングであるためです。その間、すべての古いウェブサイトは Windows-1251 エンコーディングを使用して開発されました。
不正な表示を修正するには、CMSでデータベース接続のエンコーディングを強制的に指定する必要があります。
PHP設定ファイルを開き、データベース接続の名前、ログイン、パスワードを指定する行の後に、以下の行を追加します:
ini_set('default_charset', 'Windows-1251');
この設定は、接続エンコーディングを強制的に指定します。
設定ファイルの最終バージョンは次のようになります:
...
$hostname_dbconn = "localhost";
$database_dbconn = "DATABASE-NAME";
$username_dbconn = "DATABASE-USER";
$password_dbconn = "PASSWORD";
ini_set('default_charset', 'Windows-1251');
...
今、キーボードショートカット Ctrl + F5(ブラウザキャッシュをクリア)を使用してページを更新します。これで、サイトのエンコーディング表示が正しく動作するはずです。
サイトがどのエンコーディングを使用しているかを確認するには、ブラウザでキーボードショートカット Ctrl + u を押します。開いたタブで、HTMLコードの先頭に次のような行を探します:
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
No Comments Yet