堂々巡りした話
お客さんとこでサーバー移転になるってーから。
旧環境:
Nucleus3.31
PHP5.1.6
Mysql4.0.27
新環境:
PHP5.4.23
Mysql5.1.73
単純にコピーとインポートしたら見事に文字化け。???とかって。ここスタート
やった手順
エクスポートしたSQLは?→UTF8でOK
新DBは?→全てUTF8でOK
スクリプトは?→やはりUTF8
ってことはシェークハンドで自動変換的な?
ってことで、config.phpの最後に、
[label]mysql_set_charset(“utf8”);[/label]
を挿入。
utfでやりとりしてくれる呪文らしい。
↓
表示はOKになったけど、管理画面の一部がまだ文字化け…
↓
myadminで確認するも化けてない。ってことは自動変換か
↓
面倒だがバージョンアップ。
なぜかグローバル版で3.65にしてしまい、一部日本語表示されず…
↓
再度日本版DLしてアップデート。
ちなみにhttp://japan.nucleuscms.org/
↓
一部プラグインもアップデート。
これで文字化けに関しては問題なくなった。
日本語の処理面倒いってことなんだろうか。
ここでふと、config.phpに追加した一文をコメントアウトしてみる
↓
文字化けしない/(^o^)\
ナンテコッタイ
最初からバージョンアップすりゃ良かった…
sql自体にも
[label]DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;[/label]
とか追加されてたから、この辺が効いてるっぽい。
問題追加
が、他にも問題発生。
HTMLベースのサイトに新着情報的に埋め込みを2ブログに分けて行っているんだけど、
2つ目も最初のblogの内容になっちまう。
[label]selectBlog(‘blogの短縮名’);[/label]
ってなってるのに効いてない…
この現象をいろいろ調べると、変数クリアするといいという情報がちらほら。
[label]$blogid = NULL;[/label]
を、selectBlogの前に入れると元通り。
それぞれのblogの新しい順に数件引っ張ってきてくれました。
結構前に作ったサイトだからNucleusだったけど、
今だったら確実にWordPressとかだよなぁ
移行している人も多いようで、情報が少なく(古く)なっていってるような。
次は何が主流になるんだべなー
[amazonjs asin=”4881665707″ locale=”JP” tmpl=”Small” title=”Nucleusでつくる!最強のブログサイト”]
[amazonjs asin=”4797369450″ locale=”JP” tmpl=”Small” title=”基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )”]