MySQLにCSVからのデータを挿入する方法
参考サイト
http://tomo.ac/goodstream/database/mysql/linux/tips.htm#データをCSV(Excel)で入出力する方法
mysql> set character set sjis; mysql> load data (local) infile "/tmp/dump.csv" into table tablename fields terminated by ',' enclosed by '"' lines terminated by '\r\n';
※最後の改行コードの指定がないと、エラーになってしまう
※上記の文を実行したとき、データベースのキャラクターセットが
eucとかになっていると、エラーになってしまう
データベースとファイルの文字コードが同じでなければエラーになる。
(文字化け場合もあるようだが、バージョンによる違いと思われる)
対処法)
alter database データベース名 character set cp932;
として、変更すれば、普通に代入できる。
一応、テーブルの文字セットが同じこともチェック
チェックは、
show create database データベース名\G show create table テーブル名\G
でチェックできる。
PEAR / PECL
PECLのインストールに失敗する
フォルダにアクセスできないようなメッセージが表示されていたら、
Windows7のUAC( User Access Control ) が原因な可能性がある。
Windows Vista以降では、管理ユーザでも制限がかかっていて、
Program fileなど、重要なフォルダを確認なしで変更することができなくなっている。
対処法
PEAR(ペア)・PECL(ペックル)ってどうよ?
最低限のものを使うとよい。あまり使わなくてもOK.
ただし、PEARにはSMTPメールなど、標準のPHPにはない機能があるものもある。
(ローカルにメールを出させるような関数はあるのだが)
SMTPは自作してもいいが、ヘッダ部分などの処理が大変(平文ならまだいいが)
そういう面倒なものを補う分にはいいだろう。
また、PECLならば、ハッシュや暗号化など、標準にない機能を使う分にはいい。
PEARを使えないサーバーで使う
サーバでPEARが使えるかどうかは環境次第になるが、
.htaccessやini_set関数を使うなどで使えるようにする方法もあるようだ
(ただし、非推奨)
http://www.s-memo.net/blog/2005/12/pear_1.php
http://d.hatena.ne.jp/bro256/20100503/1272903226
smartyってどうよ?
あまり使わなくてもOK
理由は、
1.一昔前、PHP5との相性がよくなくて、ワーニングが出まくるという印象がある
2.コンパイル&コンパイル後の動作が重い
3.PHPのコンパイル済みのキャッシュとの相性が悪いのではないか?
というものがある。
補助ツール
PHPエディタ
フリーソフトで「PHPエディタ」というのが出ていて、
着色、F1での関数ヘルプ、ポップアップヒント、ソースの一括管理など
なかなか便利(ヘルプが日本語に訳されているのもありがたい)
http://phpspot.net/php/phpeditor2.html
PHPドキュメンター
Doxygen的なものがある。
オープンソースにするときなど、こいつでドキュメント化すると喜ばれるだろう。
どれが良いかについては、要調査。(開発が終了したものもある)
ここにまとめてみた
CHM文字化け対策
公式のPHPのCHMドキュメントは、フォントが崩壊している。
他の方は、再度、自分でデコンパイル⇒コンパイルして、直して使っているようだ。
http://blog.plastik.jp/archives/15
http://blog.hearty-service.biz/category/3814349-3.html