• 解決済 fujiwarakanae

    (@fujiwarakanae)


    突然、投稿ページや固定ページが文字化けしました。
    プラグインのアップデートが原因かと思い元に戻しましたが直りませんでした。
    自作テーマで作ったページで、テーマ内のphpデータには文字化けはないのですが、
    データベース内のテキストが文字化け発生していました。
    何を試しても解消されないので、wordpressを削除して新たにインストールしました。
    サーバーは、ASJで、wordpressをインストールするとデータベースも一緒に作られるようになっています。
    今の状態はwordpressをインストールしただけで何もしていない状態なのですが、
    すでに文字化けしています。
    プラグインのWP Multibyte Patchだけ入れました。
    この現象の解決法を教えていただきたいです。
    よろしくお願いします。

    ヘルプの必要なページ: [リンクを見るにはログイン]

15件の返信を表示中 - 1 - 15件目 (全18件中)
  • こんにちは。
    推測ですが、データベースのバージョンアップなどされましたでしょうか?

    その場合、MySQL データベースの文字コードが、UTF-8以外に設定されている可能性があります。

    phpMyAdminへログインし、該当のWordPressサイトのテーブルの【照合順序】(現在の文字コード)を確認してみてください。もし「shift-jis」などが選択されていたら、それが原因で文字化けを起こしている可能性があります。

    一度ご確認いただければと思います。

    トピック投稿者 fujiwarakanae

    (@fujiwarakanae)

    Yukinobu Asakawaさま

    返信ありがとうございます。
    照合順序の文字コードは、utf8_general_ciになっています。

    文字化けした状態でブラウザに表示するテキストエンコーディングを明示的にUTF-8で指定してみてください。それで表示は戻りますか?

    トピック投稿者 fujiwarakanae

    (@fujiwarakanae)

    mokkosanさま
    返信をありがとうございます。
    ブラウザのテキストエンコーディングをUTF-8にしても変わりませんでした。

    WordPress の管理画面から「ツール」-> 「サイトヘルス」-> 「情報」->「データベース」のカテゴリーの中にある、データベースの文字セット、データベース照合の項目はどの値になっていますか?

    あと、文字化けしている sample-page が気になります。
    sample-pageは英語のページだと思いますが、このページを日本語の文章に書き換えたのですか?

    確認してみたところ、サンプルページの本文はEUCに、下のメニュー欄がShift JIS X0213になっていますね。同一ページで複数の文字コードが混在しているということは、MySQL側の問題ではない気がします。テーマの側の問題のような気がします。テーマ内のファイルは全てUTF-8で保存されているのですよね。

    トピック投稿者 fujiwarakanae

    (@fujiwarakanae)

    Yukinobu Asakawaさま

    ご指摘の項目は、
    データベースの文字セット utf8mb4
    データベース照合 utf8mb4_unicode_c
    となっております。

    sample-pageは、wordpressをインストールしてデフォルトで設定されているものと思われます。
    書き換え等はしていません。


    トピック投稿者 fujiwarakanae

    (@fujiwarakanae)

    mokkosanさま

    サンプルページが場所によって違う複数の文字コードで表示される事は私も確認していました。
    テーマはデフォルトで設定されているもので、なにも変えていないのでUTF-8で保存されていると思います。

    トピック投稿者 fujiwarakanae

    (@fujiwarakanae)

    今のページは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');

    上記のように修正を試してみてください。

    トピック投稿者 fujiwarakanae

    (@fujiwarakanae)

    Yukinobu Asakawaさま
    以前のwp-config.phpは編集しましたが、保存はWinSCPの編集時に文字コードが出るのでUTF-8を確認して保存していました。
    wp-config.php on line 90は、自分で入れたもので、
    @ini_set( ‘memory_limit’, ‘100M’ );
    です。

    こちらのエラーは再インストール前のデータのため修正のお試しが出来ません。
    とりあえず、今出ている文字化けを解消して、バックアップしたデータを戻したいと考えております。

    • この返信は1ヶ月、 4週前にfujiwarakanaeが編集しました。

    WinSCPが詳しくないので、間違っていたらすみません。

    WinSCP はFTPソフトですよね。
    ファイルを直接編集する場合には、エディターを指定すると思うのですが、この時エディターを指定して「UTF-8 BOM無し」を選んでいますか?
    例えば、Windowsの「メモ帳」は文字コードをUTF-8にして保存すると必ずBOM付きになる可能性があるようです。

    トピック投稿者 fujiwarakanae

    (@fujiwarakanae)

    Yukinobu Asakawaさま
    はい。FTPソフトです。
    文字コードは、932(ANSI/OEM-日本語Shift-JIS)かUTF-8を選ぶようになっています。
    BOMの表記はありません。
    FTP以外での編集は、Dreamweaverを使うので、メモ帳は使いませんでした。

    すみません。
    インストールした、 https://mts-p.jp/wp で使用しているデータベース内部のデータは、phpMyAdaminで見た時に正常に表示されているのですか?それとも文字化けしていますか?

    こちらで https://mts-p.jp/wp を確認すると、文字化け解消されているようです。

15件の返信を表示中 - 1 - 15件目 (全18件中)
  • このトピックに返信するにはログインが必要です。