人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: soyuz11
●カテゴリ:インターネット ウェブ制作
✍キーワード:EUC-JP Hello world Linux PHP Unicode
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●80ポイント

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
◎質問者からの返答

CREATE TABLE IF NOT EXISTS `wp_postmeta` (

(略)

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

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

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

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

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


2 ● pahoo
●0ポイント

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

不十分です。


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


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

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


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


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

◎質問者からの返答

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

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

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

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


3 ● redwing1
●0ポイント

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

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ