Posts tagged ‘文字化け’

FTPでミラーリング

数百GBのデータを管理したいのですが、管理したいデータはFTPで公開されている配布元のデータ。
これが更新されたり追加されたりしたら、これを検知してその情報を管理アプリケーション側のデータベースに登録したい感じのことをやりたいのです。

配布元(FTP) > - <  ( Internet ) > - < 管理アプリケーション <- 管理者

数が少なければ、配布元にFTPアクセスして管理アプリケーションで持っている情報と突合せして、
新しかったり、管理アプリケーションに持っていないデータであれば、それを追加すれば良いかもしれないのですが、
多くなると配布元へのFTPアクセス負荷が増えそうだし、その配布データ自体は上記で言う管理アプリケーション側で
また別のところに配信するために保持しておかないといけない。
それを、増えた減ったのタイミングでダウンロードさせるのも面倒な処理になるなぁと思っていました。

なので、FTPでミラーリングみたいなことが出来れば、後はローカル(管理アプリケーション側)だけで処理出来るので
何かいいのないかな。と思って探していたら、「lftp」と言うLinux用のFTPクライアントを見つけました。

LFTP – sophisticated file transfer program
lftp を使った ftp ミラーリングと便利機能

このlftpは、標準的なツールのようで、すでにCentOS5.3でも使えるようになっているようでした。
すごそうなのは、

# mirror

の一発で簡単にミラーリング(配布元のファイルをローカルにダウンロード)出来るとこです。
これをcron登録しておきて定期的にミラーリングしておけば、わざわざFTP元まで見に行く必要がない。

基本的な使い方は以下です。
(と言うか、これしかまだやってない。)

# lftp -u (FTPユーザー名),(パスワード) 接続先
lftp :~&gt;set ftp:charset cp932
lftp :~&gt;mirror

上記でset ftp:charset cp932とやっているのは、おそらく配布元がWindowsサーバーかなんかで、ファイルがSJISになっていて普通にlsしたら化けていたので文字セットを変えてみたものです。
それはそれで、ログインして単に「mirror」すれば良いだけというのは簡単だ!
しかし一度目は時間かかるのはしょうがないとしても、二度目以降はどうなんだろうか?


Lavie MにCentOSを入れて使ってみる

HDD、CD-ROMが破損しているノートPCの復活メモからの一連の流れで、

・HDDが壊れた、NEC Lavie M(LM700/7)を貰った
・HDD換装
・Linuxでも入れて使おうと思った
・CDブートしてみようと思ったら、CDドライブも壊れてた
・外付けUSBFDDで起動可能そうなので、それでCentOSを入れて最新版(5.4)にした ←今ここ

使用し始めてみたら、GNOMEでネットワーク設定ウィンドウで「状態」列が文字化けしていた。
日本語使用しようとしているので、ここはキッチリ日本語にしておきたい。

そこでググって以下ページを発見

Fedora Core 4の言語選択画面の項目を変更するには - @IT

CentOSも5.4ともなれば、UTF-8でやってるに違いないと見切って以下のように修正

# vi /etc/sysconfig/i18n
 
LANG="ja_JP.UTF-8"
SUPPORTED="jp_JP.UTF-8:en_US.UTF-8:en_US:en:ja_JP.eucJP:ja_JP:ja"
   :

もちろんrootでやる。
これで一度ログアウトしてログインしなおしたら治った。
代わりにデスクトップの「古いデスクトップのショートカット」みたいなショートカット名が化けたがこれはいいや。

そして無線LANを使用しようと、ndiswrapperというのが必要っぽいというところまで調べたので、
yumでないもんかyum searchをしてみたら、urlopen error (-3, ‘\xe5・・・)とか出る。
これはもしかして、yumのリポジトリを読む際に、さっき変更した文字コードが関連しているんじゃ・・・と思ったところで今日は終了。


osCommerce日本語版文字化け解消

osCommerce 2.2 MS1 日本語版を入れたまましばらく触っていなかったが、どうも文字化けが酷い(ブラウザではUTF-8で表示しようとしているが、文字コードはEUP-JPなためだと思う)

文字化けするのを直す方法で、直し方はわかったのですが、そもそもphpのmbstringが入ってないので入れます。

# yum install php-mbstring

で、前述サイトのようにphp.iniを修正します。

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.encoding_translation = On
mbstring.substitute_character = none;

その後、Apache再起動して確認します。

が、ぜんぜん解消していない!
その後色々調べたら、日本語の文字化けの問題にちょっと書いてあった。
でもPHP5なんだけどなぁ。やってみたら一部文字化けは解消しているようだった。

で、結局前述のapplication_top.phpにヘッダを追加するのじゃなくて、php.iniの以下設定を記載することで文字化けは直った。

default_charset = "EUC-JP"

osCommerceの設定はこれで大丈夫だろう。