こんにちは。
推測ですが、データベースのバージョンアップなどされましたでしょうか?
その場合、MySQL データベースの文字コードが、UTF-8以外に設定されている可能性があります。
phpMyAdminへログインし、該当のWordPressサイトのテーブルの【照合順序】(現在の文字コード)を確認してみてください。もし「shift-jis」などが選択されていたら、それが原因で文字化けを起こしている可能性があります。
一度ご確認いただければと思います。
Yukinobu Asakawaさま
返信ありがとうございます。
照合順序の文字コードは、utf8_general_ciになっています。
文字化けした状態でブラウザに表示するテキストエンコーディングを明示的にUTF-8で指定してみてください。それで表示は戻りますか?
mokkosanさま
返信をありがとうございます。
ブラウザのテキストエンコーディングをUTF-8にしても変わりませんでした。
WordPress の管理画面から「ツール」-> 「サイトヘルス」-> 「情報」->「データベース」のカテゴリーの中にある、データベースの文字セット、データベース照合の項目はどの値になっていますか?
あと、文字化けしている sample-page が気になります。
sample-pageは英語のページだと思いますが、このページを日本語の文章に書き換えたのですか?
確認してみたところ、サンプルページの本文はEUCに、下のメニュー欄がShift JIS X0213になっていますね。同一ページで複数の文字コードが混在しているということは、MySQL側の問題ではない気がします。テーマの側の問題のような気がします。テーマ内のファイルは全てUTF-8で保存されているのですよね。
Yukinobu Asakawaさま
ご指摘の項目は、
データベースの文字セット utf8mb4
データベース照合 utf8mb4_unicode_c
となっております。
sample-pageは、wordpressをインストールしてデフォルトで設定されているものと思われます。
書き換え等はしていません。
mokkosanさま
サンプルページが場所によって違う複数の文字コードで表示される事は私も確認していました。
テーマはデフォルトで設定されているもので、なにも変えていないのでUTF-8で保存されていると思います。
今のページはwordpressを再インストールしてデフォルトで表示されるページですが、もともと自作テーマでつくったページで文字化けが発生した時にPHPのバージョンを7.4から8.1に更新した際に一時文字化けが解消されたのですが、リロードでページエラーになりました。
Fatal error: Uncaught Error: Undefined constant “‘memory_limit’” in /home/xsu4213/public_html/wp/wp-config.php:90 Stack trace: #0 /home/xsu4213/public_html/wp/wp-load.php(50): require_once() #1 /home/xsu4213/public_html/wp/wp-blog-header.php(13): require_once(‘/home/xsu4213/p…’) #2 /home/xsu4213/public_html/wp/index.php(17): require(‘/home/xsu4213/p…’) #3 {main} thrown in /home/xsu4213/public_html/wp/wp-config.php on line 90
このメッセージです。
wp-config.php を編集されましたか?
もし編集された場合、エディターでファイルを開いて必ずUTF-8(BOMなし)エンコーディングで保存してください。
BOM(Byte Order Mark)が付いていると、PHPの実行に問題が生じることがあります。
あと、エラーコードの中に、wp-config.php on line 90 と記載ありますが、実際この行には何が記述されていますか?
memory_limit のという定数が正しく定義されていないことが原因?で エラーが発生しているようのも見受けられます。
シングルクオートの部分に余計な文字が入っていたりしませんか?
define('memory_limit', '256M');
上記のように修正を試してみてください。
Yukinobu Asakawaさま
以前のwp-config.phpは編集しましたが、保存はWinSCPの編集時に文字コードが出るのでUTF-8を確認して保存していました。
wp-config.php on line 90は、自分で入れたもので、
@ini_set( ‘memory_limit’, ‘100M’ );
です。
こちらのエラーは再インストール前のデータのため修正のお試しが出来ません。
とりあえず、今出ている文字化けを解消して、バックアップしたデータを戻したいと考えております。
WinSCPが詳しくないので、間違っていたらすみません。
WinSCP はFTPソフトですよね。
ファイルを直接編集する場合には、エディターを指定すると思うのですが、この時エディターを指定して「UTF-8 BOM無し」を選んでいますか?
例えば、Windowsの「メモ帳」は文字コードをUTF-8にして保存すると必ずBOM付きになる可能性があるようです。
Yukinobu Asakawaさま
はい。FTPソフトです。
文字コードは、932(ANSI/OEM-日本語Shift-JIS)かUTF-8を選ぶようになっています。
BOMの表記はありません。
FTP以外での編集は、Dreamweaverを使うので、メモ帳は使いませんでした。
すみません。
インストールした、 https://mts-p.jp/wp で使用しているデータベース内部のデータは、phpMyAdaminで見た時に正常に表示されているのですか?それとも文字化けしていますか?
こちらで https://mts-p.jp/wp を確認すると、文字化け解消されているようです。