denzi-soul.blog

webデザイナーを目指して、webデザインを学んでいく過程を綴るブログ

wordpress「文字化け」&「ページ真っ白状態」と格闘中・・・

2008年5月12日 04:19 | コメント(0) | トラックバック(0)

新規でwordpress2.5を使用してサイトを作ろうとしているのですが、作成するための環境構築の段階からつまづきまくって早2週間以上・・・さすがに参ってます・・・

「文字化け」&「ページ真っ白」状態をどうすれば解決できるのか・・・・多分とても初歩的なことで勘違いしている、もしくは変な設定をしてしまっている、という予感はあるのですが、解決に至れません。

備忘録として以下に色々書き留めておきます。

問題の起こっているシチュエーション

ローカルで構築したdb(MySQL)をwebにアップロードしたが、ページが真っ白になって見れない。しかしなぜか見れたこともある。dbの内容は反映してくれていたが文字化けしていた(なぜか日本語なのに文字化けしていない文字もあった)。

文字コードは、全てにおいてUTF-8にしている(つもり)。dbや記事設定など、ローカル・レンタルサーバーどちらもUTF-8以外使っていない(つもり)。(話は反れるけど、dbで見かける"utf8"って"UTF-8"と同じことなんでしょうか・・・・?)

管理画面は正常に見れる。が、記事のコメントとかカテゴリー名や記事は文字化け。

ローカルの方は、管理画面・ページ共に異常無し。

スペックについてはこの記事の末尾に記載。

今までクリアした関門。

どうやらDBのテーブルにオーバーヘッドがあるとエクスポートが上手くいかないらしい
→テーブル最適化。難なくクリア。
どうやらインポート元、エクスポート先同士のMySQLのバージョン違いが、微妙且つイヤらしい問題を引き起こすらしい。
→エクスポートするとき、phpMyAdminの「SQL互換モード」を「MYSQL40」にしたら上手くいった!  →どうやら「MySQL323」の方が正解か??ローカルのMySQLのダンプファイルをサーバー(ロリポップ)にエクスポートするには?
ここで本当に苦労した。#1193 - Unknown system variable 'SQL_MODE' が出たり、それを消すと今度は別のエラーが出たりで、3時間以上格闘・・・
ダウンロードしたSQL文の、「localhost」とかになってる部分を、何に置換したら良いか。
→これは以下の記事に詳しい。

結局2箇所だけ直せばそれで良いようです。
あれ?でもurlの最後には / を付けない方がいいんじゃなかったっけ??

上の本から引用↓

画像や内部リンクのURLを置換する必要が無い場合、wp-config.phpファイルに以下のコードを追加することで、データをそのまま使うことができます。

define('WP_HOME', 'http://test.example.com');
define('WP_SITEURL', 'http://test.example.com');

どちらもurlはhttp://から書き、最後にはスラッシュ(/)は含めないようにしましょう。

これを設定すれば、SQL文をローカルからエクスポートする際に、SQL文を変更せずそのままインポートできる、ということ・・・ですよね?(自信無し)

他に行った設定・作業いろいろ

WordPressのブログ丸コピ方法のまとめ - Liner Note はてなブックマーク数

事前準備 まず、WordPress側で文字化けが発生する事があるため、power source* - XREAにUTF8設置時の文字化け 解決編に従って、以下のようにコードを追加。 ファイルパス: wp-includes/wp-db.phpの78行目あたり

の部分。(効果ありませんでした・・・・)

 pools.jp | WordPressのインストールと文字化け対応 はてなブックマーク数

wpdbクラスのコンストラクタ(wpdbメソッド)にある次の1行 $this->select($dbname); これを以下の2行へ修正 @mysql_query("SET NAMES 'utf8'", $this->dbh); $this->select($dbname);

の部分。(実はまだ試してません・・・)

 hiromasa.zone :o) » XAMPP + phpMyAdmin で文字化けする場合 はてなブックマーク数

WordPress では以下の設定でこれを回避できます。 wp-includes/wp-db.php :: function wpdb() 1. mysql_query("SET NAMES utf8", $this->dbh); 2. $this->select($dbname);

の部分。(これもまだ試してなかった・・・)

スペック

  ローカル オンライン(ロリポップ)
Apache 2.2.8 1.3.xx
PHP 5.2.5 4.4.6
MySQL 5.0.51a 4.0.24
phpMyAdmin 2.11.4 2.6.2-rc1

 

PHPのバージョンの相違が怪しい・・・?
ちなみにローカル開発環境は、XAMPP Windows版 1.6.6a + Eclipse 3.3.2 で構築。

カテゴリ:

タグ:

関連する記事

« ローカルのMySQLのダンプフ... | Home | サーバー移転する予定。「ロリポ... »

トラックバック(0)

トラックバックURL: http://blog.denzi-soul.com/mt-tb.cgi/1

コメントする