2008年11月24日月曜日

MySQLに郵便番号データ(KEN_ALL.CSV)をインポートする方法

KEN_ALL.CSVを適切な文字コードに変換しておく。
変換方法は、http://jazz4no.blogspot.com/2008/11/phpmyadmincsv.html を参照


コマンドラインからMySQLにアクセス。
以下のコマンドでインポート。

LOAD DATA LOCAL INFILE '/path/KEN_ALL.CSV'
INTO TABLE `zip`
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"';

/path/ は自分の環境に合わせて変更する。
ちなみに、私の場合は、E:/xampp/mysql/ken_all/KEN_ALL.CSV

PHPMyAdminで、CSVファイルを文字化けさぜずにインポートする方法

Myadminのインポートの際に一番起きうる症状は、以下の2点かと思います。
・「CSV 入力のフィールド数が不正です (行: 1)」の表示が出て、インポートできない
・インポートしたのはいいが、文字化けしている。


もちろん、CSVで記録されているフィールドの数が、テーブル内のフィールド数と合っているにもかかわらず、です。それでは、対処方法を紹介します。

① まず、インポートしたいCSVファイルのファイル名末尾の.csvを.txtと替え、秀丸でファイルを開いて下さい。
② 秀丸のメニューボタン「ファイル」→「エンコードの種類」を選択。すると、エンコードの種類が選択できます。現時点では日本語(Shift_JIS)が選択されていると思います。これを、希望の文字コードに変更して下さい。今回はUnicode(UTF-8)に変換しました。その際に

「エンコードの種類が切り替わりました。操作を選択してください。」
1)ファイルを読み直す
2)内容を維持したまま適用
3)キャンセル

と、警告ウィンドウが表示されたので、「2)内容を維持したまま適用」を選択し、保存。

③ 先ほど.txtに変えたファイル名末尾を.csvに替えて下さい。これでExcelファイルに戻ったのですが、ファイルを開いて見て下さい。レコードの中身が日本が文字化けしていると思います。

ここからインポートの手続きに入ります。

④ テーブルを選択して、「インポート」を選択して下さい。
⑤ インポートするファイルを、「参照」ボタンから指定。
⑥ 「部分インポート」は、とりあえずそのまま。
⑦ 「インポートするファイルの形式」は、「LOAD DATA する CSV」を選択し、オプションの中身の「フィールド区切り記号」を「,」(カンマ)に変更。
⑧「実行する」を押します。

2008年10月28日火曜日

ターミナルからのtar.gz圧縮と解凍











































拡張子 種別 コマンド指定方法
tar 圧縮 tar cvf xxxx.tar ./xxxx
解凍 tar xvf xxxx.tar
gz 圧縮 gzip xxxx (xxxx.gzが出来上がる)
解凍 gunzip xxxx.gz
Z 圧縮 compress -vf ./xxxx
解凍 compress -d xxxx.Z

uncompress xxxx.Z

zcat aaa.Z > ./xxxx
tar.gz 圧縮 tar cvzf xxxx.tar.gz ./xxxx
解凍 tar xvzfp xxxx.tar.gz


ターミナル 実行処理の解除 Ctri + C

2008年9月8日月曜日

IE7で確認ダイアログを出さずに閉じる

IE6 では、

function selfClose(time) {
setTimeout('self.close()',time)
}

body に onload="selfClose(1000)"

で、自動でウィンドウが閉じていたが、IE7 になってから確認の画面が出るようになった。
そこで、

(window.open('','_top').opener=top).close();

に変えたら、自動で閉じるようになった。IE6 でも問題ない。

2008年9月6日土曜日

Flashで動画を再生する方法

1、MPEG2(VOB)ファイルからAVIを作成

MPEG2(VOB)ファイルからAVI、WMV、JPG、BMPを出力するソフト「MPG2JPG」を下記からダウンロードしてインストールする。

http://www.vector.co.jp/soft/win95/art/se320430.html



2、FLVファイルを作成

Flash 8 Video Encoder でFLVファイルに変換する



3、Flashの作成

参考ページ
http://www.asahi-net.or.jp/~tk3t-ysok/flash/tutorials/as/as20/as20.html

ページが無くなった時のために、コピーしておく。

以下」、参考ページから抜粋。
====================================================================================
メディアコンポーネントには、MediaDisplay、MediaController、MediaPlaybackの三つが用意されている。

MediaDisplay:
単に動画スクリーンが表示されて、動画を再生させる。見る人には停止、再生などの制御は出来ない。とにかくシンプルに動画を見せるときに使う。

MediaController:
MediaDisplayのコントロール部として使う。再生、一時停止、最初に戻る、ボリュームコントロールなどが可。

MediaPlayback:
上記二つを組み合わせたもので、表示部、コントロール部が一体になっている。

Display&Controllerの組み合わせを使うと、それぞれのサイズやデザインをカスタマイズできる。




Mediadisplay&MediaControllerの設定例

(1)幅300pix、高さ260pixの新規ドキュメントを開く
(2)コンポーネントウインドウからMediaDisplayをドラッグし、ステージにドロップする。x=0、y=0に設置
(3)コンポーネントインスペクターウインドウを開き、flvにチェック
(4)URLボックスに、flvファイルのパスとファイル名を入れる
   例では、同じホルダーにflashファイルとflvファイルがあるので、
   単に、punto2.flvと記入
   Automatically Playにチェックを入れる(自動再生)
   Use Preferred Media SizeとRespect Aspect Ratioのチェックをはずす
   (元ファイルに関係なくステージのMediaDisplayのサイズで表示される)
(5)コンポーネントウインドウからMediaControllerをドラッグし、
  MediaDisplayの下部にドロップする
  インスタンス名をcontrolとする(何でも良い)
  プロパティーでcontrollerPolicyをonに設定(見えるようにする)
(6)MediaDisplayを選択し、ビヘイビアウインドウでビヘイビアの追加ボタン(左上の十の字ボタン)をクリックし、「メディア」「コントローラを関連付ける」をクリック、開いたウインドウで、control、相対を選択する



MediaPlaybackの設定例

(1)から(4)までは、DisplayとControllerの組み合わせと全く同じ。ただし、この場合は、Automatically Play(自動再生)のチェックをはずしている

次いで、インスペクターウインドウで、
 Control Placementで、コントローラの位置を決める(例では、bottom)
 Control Visibilityで、コントローラを見えるようにするか(on)、
 マウスがのったときに表示するか(auto)、
 表示しないか(off)を決める。
====================================================================================

2008年8月25日月曜日

DNS設定値の伝播遅延をnslookupコマンドで観察

nslookup コマンドでDNSの設定の伝播を確認する方法を紹介したサイト

http://sakaguch.com/nslookupLAG.html

2008年8月22日金曜日

MySQLの文字コードを換える(Windows、xammp)

======================================
Windows XP
Apache 2.0
PHP 5.2.5
MySQL 5.0.51a
phpMyAdmin 2.11.4
======================================

①mysqlの文字コードを確認
mysql> mysql -u root -p
Enter password:

mysql> SHOW VARIABLES LIKE 'char%';


/* プロンプト */
character_set_client | latin1
character_set_connection | latin1
character_set_database | latin1
character_set_filesystem |  binary
character_set_results | latin1
character_set_server | latin1
character_set_system | utf8

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | latin1
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | latin1
character_set_system | utf8

※プロンプト と phpMyAdminで確認すると違いがある



②C:\xampp\mysql\bin\my.cnf の [mysqld]に
default-character-set = utf8 追加

/* プロンプト */
character_set_client | latin1
character_set_connection | latin1
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | latin1
character_set_server | utf8
character_set_system | utf8

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8

※「character_set_database」と「character_set_server」が utf8 になるも、プロンプト と phpMyAdminではまだ違いがある



③C:\xampp\mysql\bin\my.cnf の [mysql] に
default-character-set = utf8
を追加

※プロンプト と phpMyAdminで確認するが変化なし




④C:\xampp\mysql\bin\my.cnf の [mysqld]に
skip-character-set-client-handshake 追加

/* プロンプト */
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8


※「character_set_client」、「character_set_connection」、「character_set_results」が utf8 になり、プロンプト と phpMyAdminが同じになる

skip-charcter-set-client-handshakeは、MySQLクライアントなどの文字コードをMySQLサーバ(mysqld)で設定した文字コードに、無理やり統一するものです。私の環境では、skip-character-set-client-handshakeを記述しないと、character set client等の一部の変数がLatin1のままで、utf8になりませんでした。(何でだろう)



④"C:\xampp\mysql\bin\my.cnf "を書き換えた後にその設定を有効にするには、MySQLを再起動する必要がある。

xampp コントロールパネルでMySQLを restart

2008年8月21日木曜日

DNSの転送設定

www2.hogehoge.com へのアクセスを任意のIP(111.222.333.44)へ転送する設定

①マスターファイルの場所を確認
./etc/named.conf を # vi -R named.conf 

zone "hogehoge.com" {
type master;
file "/var/named/hogehoge.com.db";
}


②マスターファイルの編集
# vi /var/named/hogehoge.com.db で表示

下記を追加、保存
www2.hogehoge.com.  14400  IN  A  111.222.333.44
www2  14400  IN  A  111.222.333.44

※注意
マスターファイルを更新した時は、SOAリソースレコードのSERIALを増加させる必要がある。
一般的な設定例:2008082101 (年月日+その日のシリアル番号)
SERIALの番号は、32ビットの数値で4294967295(4,294,967,295)以下である必要がある。


③namedをリロード
#service named reload

下記が表示されれば完了
Reloading named:      [ OK ]

2008年8月8日金曜日

MySQLの文字コードを換える(SentOS)

======================================
Sent
Apache 2.0.63
PHP 5.2.5
MySQL 5.0.51a-community
phpMyAdmin
======================================

①mysqlの文字コードを確認
# mysql -u root -p
Enter password:


#SHOW VARIABLES LIKE 'char%';


/* プロンプト */
character_set_client | latin1
character_set_connection | latin1
character_set_database | latin1
character_set_filesystem |  binary
character_set_results | latin1
character_set_server | latin1
character_set_system | utf8

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | latin1
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | latin1
character_set_system | utf8

プロンプト と phpMyAdminで確認すると違いがある



②/etc/my.cnf の [mysqld]に
default-character-set = utf8 追加

/* プロンプト */
character_set_client | latin1
character_set_connection | latin1
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | latin1
character_set_server | utf8
character_set_system | utf8

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8

※「character_set_database」と「character_set_server」が utf8 になるも、プロンプト と phpMyAdminではまだ違いがある



③/etc/my.cnf に
[mysql]
default-character-set = utf8
を追加

/* プロンプト */
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8

※「character_set_client」、「character_set_connection」、「character_set_results」が utf8 になり、プロンプト と phpMyAdminが同じになる




④データを登録してみる。
1、まず、phpMyAdminからデータを登録。
phpMyAdmin上では正常に表示されるがサイト上では文字化け。

2、サイトからデータを登録。
サイト上では正常に表示されるがphpMyAdmin上では文字化け。


※サイトの文字コードもutf8にしているがなぜだろう。。。





⑤/etc/my.cnf の [mysqld]に
init-connect=SET NAMES utf8 追加


※問題解決。
phpMyAdmin、サイトでデータを登録して文字化けが解消された。




⑥"/etc/my.cnf"を書き換えた後にその設定を有効にするには、MySQLを再起動する必要がある。
# /etc/rc.d/init.d/mysql restart

Shutting down MySQL..    [ OK ]
Starting MySQL..        [ OK ]

一般的な方法
/etc/init.d/mysqld restart...MySQLデーモンの再起動
/etc/init.d/mysqld start...MySQLデーモンの起動
/etc/init.d/mysqld stop...MySQLデーモンの停止

2008年8月6日水曜日

LinuxOSのディストリビューションのバージョンを調べる方法

たいていのディストリビューションは、/etc 配下に、それらしいファイルがあります。

(1) Debian系 Debian/GNU Linux

# /etc/debian_version 3.1

(2) RedHat系

CentOS

# /etc/redhat-release
CentOS release 4.3 (Final)

Fedora Core

# /etc/redhat-release
Fedora Core release 5 (Bordeaux)

Vine Linux

# /etc/vine-release
Vine Linux 3.2 (Ducru Beaucaillou)

Turbo Linux

# /etc/turbolinux-release
Turbolinux Server 8.0 (Viper)