v1.6系EUC-JPからUTF-8への変換

category-icon

 こんばんは。まぁ、ある程度予想されたとはいえ自民惨敗ですねぇ。安倍さんは続投の意欲を示していますが、今回の結果には、安倍さん自身の指導力に対する国民の評価も十分反映されていると思いますが…とまぁ政治の話は自分のブログの方で書くとして。

 さて、v1.6系の最新バージョンはv1.6.4の7/29付ですが、プログラムの文字コードとしては、UTF-8版とEUC-JP版の2つを用意しています。本音では、UTF-8一本に絞りたいところですが、(レンタル)サーバーの仕様によっては、EUC-JPじゃないと上手く動かないところもあるようなので暫くは2本立てで行こうかと思います。

 現状、このサイトは今でもEUC-JPモードですが、v1.6.3からはUTF-8版もリリースしており、個人的にはUTF-8に移行したい人なので、文字コード変換プログラムを書きました。8月に入ったら、このサイトもUTF-8仕様になっていると思います。フォーラムの方でもちょっと書いていますが、ファイル名はuconv.phpです。変換のターゲットとしては、log, comments, trackbacks, owner, pages の5つで、その中のファイルをEUC-JPからUTF-8に変換します。管理者権限でしか動きません。使い方としては、uconv.phpの中にも書いていますが、

  1. 従来の動いているブログのindex.phpと同じレベルにuconv.phpをアップ。
  2. ブログにログインした状態で、uconv.phpにアクセス。
  3. 自動的に変換が始まります。上手くいけば1-3秒もすれば、成功の旨のメッセージが表示されます。
  4. ownerディレクトリをFTPソフトでのぞいてみると、UTF8というディレクトリが生成されていると思います。
  5. この中に、log, comments, trackbacks, owner, pages の各ディレクトリが作られていて、その中に変換されたファイルがあるので、取り敢えずUTF8ごと手元のPCにダウンロードしましょう。
  6. ポイントは、もとのEUC-JPのログは、すべてそのまま無傷で残るということです。
  7. あとは、新たにアップした移行先のUTF-8モードのブログに、それらをアップすればOKです。
  8. その際に、アップしたログファイル群のパーミッションの変更(606へ)を忘れないようにして下さい。
  9. 取り敢えずログをアップした状態でトップページにアクセスしても、とくに何も反映されてないように見えますが、ここで適当に記事を新規投稿してみて下さい。
  10. 新規投稿の操作で、一気にそれまでのEUC-JP版の状態がUTF-8モードで再現されると思います。
  11. あ、PIXディレクトリの中の写真とかは、FTPソフトでダウンロードして、手動で新しいサイトにアップしたりして下さい。。

 以上のような感じで、UTF-8のサイトを、比較的簡単に作り上げることが出来ると思います。取り急ぎ。

 

添付ファイル: uconv.phpattachedIcon 

— posted by martin at 12:05 am   commentComment [6]  pingTrackBack [1]

この記事に対するコメント・トラックバック [7件]

scrollUp1. winユーザー — 2007/08/14@20:46:05

 ppBlogを使わせて頂いてありがとうございます。
 当方、Win上でApacheを動かしており、ppBlogも使用させていただいています。
 現在EUC版(EUC版1.64)を使用しており、UTF8版に移行したいと考えています。

 そこで、ブログに管理者でログインしてuconv.phpを実行すると

Warning: rename(log/log/,owner/UTF8/log/) [function.rename]: File exists in H:¥INFO¥pc¥blog¥uconv.php on line 67

Warning: rename(comments/comments/,owner/UTF8/comments/) [function.rename]: No such file or directory in H:¥INFO¥pc¥blog¥uconv.php on line 89

Warning: rename(trackbacks/trackbacks/,owner/UTF8/trackbacks/) [function.rename]: No such file or directory in H:¥INFO¥pc¥blog¥uconv.php on line 114

Warning: rename(owner/owner/,owner/UTF8/owner/) [function.rename]: File exists in H:¥INFO¥pc¥blog¥uconv.php on line 135

Warning: rename(pages/pages/,owner/UTF8/pages/) [function.rename]: File exists in H:¥INFO¥pc¥blog¥uconv.php on line 172
記事ログの変換に成功しました。

コメントログの変換に成功しました。

トラックバックログの変換に成功しました。

各種設定ファイルの変換に成功しました。

pageファイルの変換に成功しました。

UTF8への変換に成功しました!
変更されたファイル群は、ownerディレクトリのUTF8というディレクトリにまとめてあります。


と出て実際には、ディレクトリは作られますが、ファイルはまったくありません。
 ちなみに、ownerディレクトリ内に、UTF8ディレクトリとownerディレクトリが作られています。そのownerディレクトリ内にはphpファイル等が22個ありますが、変換されたログ等はありません。

 これは、実行環境がwinのPHPだからでしょうか?
 お時間があれば、ご回答いただければ幸いです。

Owner Comment martin Website  2007/08/16@07:29:08

おはようございます。
以下に置いてるものでは如何でしょうか?
実行前に、もともとのuconv.phpで作られたディレクトリやPHP
ファイルは削除しておいて下さい。
PHP manualのユーザ寄稿のやつを拝借してます。
rename関数の挙動がunix系と違うようです。

http://p2b.jp/warehouse/uconv2.txtLink
 (名前をuconv.phpにして同様に実行)

3. winユーザー — 2007/08/16@09:03:56

 martin様

 早速の対応ありがとうございます。
 実行したところ以下のようになり、残念ながら変換はできませんでした。
 (ディレクトリ等の状況も前と同じ)

 
Warning: rename(log/log/,owner/UTF8/log/) [function.rename]: File exists in H:¥INFO¥pc¥blog¥uconv.php on line 187

Warning: copy(log/log/) [function.copy]: failed to open stream: Permission denied in H:¥INFO¥pc¥blog¥uconv.php on line 188

Warning: rename(comments/comments/,owner/UTF8/comments/) [function.rename]: No such file or directory in H:¥INFO¥pc¥blog¥uconv.php on line 187

Warning: copy(comments/comments/) [function.copy]: failed to open stream: No such file or directory in H:¥INFO¥pc¥blog¥uconv.php on line 188

Warning: rename(trackbacks/trackbacks/,owner/UTF8/trackbacks/) [function.rename]: No such file or directory in H:¥INFO¥pc¥blog¥uconv.php on line 187

Warning: copy(trackbacks/trackbacks/) [function.copy]: failed to open stream: No such file or directory in H:¥INFO¥pc¥blog¥uconv.php on line 188

Warning: rename(owner/owner/,owner/UTF8/owner/) [function.rename]: File exists in H:¥INFO¥pc¥blog¥uconv.php on line 187

Warning: copy(owner/owner/) [function.copy]: failed to open stream: Permission denied in H:¥INFO¥pc¥blog¥uconv.php on line 188

Warning: rename(pages/pages/,owner/UTF8/pages/) [function.rename]: File exists in H:¥INFO¥pc¥blog¥uconv.php on line 187

Warning: copy(pages/pages/) [function.copy]: failed to open stream: Permission denied in H:¥INFO¥pc¥blog¥uconv.php on line 188
記事ログの変換に成功しました。

コメントログの変換に成功しました。

トラックバックログの変換に成功しました。

各種設定ファイルの変換に成功しました。

pageファイルの変換に成功しました。

UTF8への変換に成功しました!
変更されたファイル群は、ownerディレクトリのUTF8というディレクトリにまとめてあります。


 ちなみに、使用しているPHPのバージョンは 5.1.6 です。
 とりあえず、ご報告まで。

Owner Comment martin Website  2007/08/17@12:04:34

ご報告ありがとうございます。
では、以下のやつはどうでしょうか?
こちらで、WinVistaのApache/2.2.4 (Win32) PHP/5.2.1
で試したところ、ログの変換うまく行きました。

 →http://p2b.jp/warehouse/uconv.txtLink
  (同じく拡張子を.phpにして実行)

5. winユーザー — 2007/08/25@20:46:02

 遅くなりました。
 今、ダウンロードして確認しました。

 うまく変換できました。
 大変ありがとうございました。
 

scrollUp6. test — 2007/09/02@15:26:37


7. Nの法則 Website — 2007/09/13@00:32:24

現在、Nの法則が使わせてもらってるBlogスクリプトppBlogはヴァージョンが1.6.2か1.6.3です。で、最新ヴァージョンは1.6.4が出てます。1.6.4からは今までの文字コードEUC-JP版...
続き »

この記事に対する TrackBack URL:

設定によりTB元のページに、こちらの記事への言及(この記事へのリンク)がなければ、TB受付不可となりますのであらかじめご了承下さい。

コメントをどうぞ。 名前(ペンネーム)と画像認証のひらがな4文字は必須で、ウェブサイトURLはオプションです。

ウェブサイト (U):

タグは使えません。http://・・・ は自動的にリンク表示となります

:) :D 8-) ;-) :P :E :o :( (TT) ):T (--) (++!) ?;w) (-o-) (**!) ;v) f(--; :B l_P~

     
T: Y: ALL: Online:
Created in 0.0092 sec.
prev
2025.6
next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30