題名の通りの問題が生じています。
英語タイトルの場合は正常に表示されるのですが。
URLで日本語が含まれていると開けないようです。
DBのレコードを確認したところ、post_titleというカラムには日本語のタイトルが挿入されていました。ですがpost_nameというところには文字化け(URLエンコード)された、%などを含む文字列が挿入されていました。
調べたとろこ、このpost_nameというところがスラッグ名(URL)に使用されるとのことです。
なので、ここさへ日本語に変換できれば正常に行くと思うのですが、どこでエンコードされたのか分かりません。DBのpost_titleは日本語で挿入されていたので、DBは日本語対応になっていると思います。
PHPで文字を出力 echo "こんにちわ"
した時なども日本語として表示されます。
原因がわかりましたら教えていただきたいです。
環境は以下の通りです
- CentOS7
- WordPress 4.7.2
- PHP 5.4.16
- Apache/2.4.6
- mysql Ver 15.1 Distrib 5.5.52-MariaDB