wordpressをインストールしたのですが、新規で投稿できません。デフォルトで入っているHello Worldの後ろに「テスト」と入れ再編集するとタイトルはそのまま、記事は「WordPress」のみ残ります。公開ページの右上の「ページ」「カテゴリ」にあたる見出しが文字化けしており(EUC-JPで表示させるとそのように表示)どうも文字コードまわりが怪しいのですが、解決方法が見つかりません。ブログ名を英語でインストールして、後に日本語にしても空欄になってしまいます(英語→英語はOK)

環境:
MySQL5.0.22
- UTF-8 Unicode (utf8)
- utf8_general_ci(照合順序)
PHP Version 5.1.6
Linux 詳細不明(非公開)

解消法がわかる方ご教授くださいませ。

回答の条件
  • 1人3回まで
  • 登録:2008/06/10 13:11:12
  • 終了:2008/06/13 10:56:01

回答(3件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/06/10 14:13:16

ポイント80pt

WordPress日本語版 2.5.x では、文字コードは UTF-8 にすることが推奨されています。

そこで、MySQL側の文字コードも、UTF-8に統一してください。

具体的には、my.cnf を下記のように設定してください。

[mysqld]
default-character-set=ujis

[client]
default-character-set=ujis

[mysql]
default-character-set=ujis

[mysqldump] 
default-character-set=ujis
id:soyuz11

CREATE TABLE IF NOT EXISTS `wp_postmeta` (

(略)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

のようにテーブル生成時にはキャラクター指定してあるのですが

それでは不十分なのでしょうか?

他のプログラムでもDBを利用しているので

大元の設定は変えたくないのです。

2008/06/10 14:51:10
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/06/10 16:02:46

それでは不十分なのでしょうか?

不十分です。


MySQL 4.1 以降では、サーバ、データベース、テーブル、接続の 4 段階で、キャラクタセットと照合順序のデフォルト設定が別々に用意されています。詳細は下記を参考にしてください。


CREATE コマンドの DEFAULT CHARSET オプションで、このうち、テーブルのキャラクタセットを指定するのみです。

他の3つについては、#1で紹介した方法で、4つとも同一に設定しておくのが無難です。


どうしても my.cnf を変更したくないということであれば、WordPress が MySQL へアクセスしている箇所で、逐次、文字コード変換をする必要があると思います。


どなたか、良い解決策がありましたらお願いします。

id:soyuz11

ご指摘ありがとうございます。

文字コードをutf-8で逐次変換(wp-db.php)してみましたが

どうも上手くいかないようです。

サーバーが吐き出すキャラクターセットに制限があるように感じられます。

2008/06/11 09:56:23
id:redwing1 No.3

redwing1回答回数541ベストアンサー獲得回数32008/06/12 02:27:08

たぶんお使いのサーバーがちゃんと設定できてないせいです。いくらやっても無駄なんで、もうすこしましなところをお金を払ってお使いになることをお勧めします。

id:soyuz11

具体的なご指摘をお願いします。

ちなみに専用スペースで決して安くないサーバです。

2008/06/13 10:54:18

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません