「postgres8.0で、SQLのログを取る」という作業をやった。
/var/log/postgres
初期状態ではここにエラーログ等が記録されるようになってるが、今回はここにDML(insert.update.delete)のログも残すようにした。
設定は簡単。postgresql.confにある「log_statement」のところを「log_statement = 'mod'」にするだけ。
そして「pg_ctl reload」で設定を読み込ませればDMLが記録されるようになります。
以上。
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-November/015217.html
http://www.sraoss.co.jp/PostgreSQL/8.0/changes.html
http://www.postgresql.jp/document/pg721doc/reference/app-pg-ctl.html
2006年3月12日日曜日
2006年3月10日金曜日
Smartyのアウトプットフィルタを使ってみる
ウェブサイト(UTF-8)の登録フォームを携帯端末(SJIS)にも対応させるのをやろうと思い、Smartyのアウトプットフィルタを使ってみた。
こんな感じ
プリフィルタとポストフィルタはテンプレートに記述されている文字列を変換するだけで、DBなどから動的に出力する文字列には効かない。アウトプットフィルタの場合はブラウザへ出力する直前のデータをフィルタしてくれる。
これで無事解決。。。。と思ったのだけれど、このままでは出力されるヘッダがUTF-8のままのため、文字化けが発生してしまう。さて、どうしたもんか、、、と思いつつGoogleで調べてみたら「ini_set("default_charset", "Shift_JIS");」を入れれば解決できることがわかった。
これが最終形
こんな感じ
$smarty->register_outputfilter("filterSjis");
function filterSjis($buff, &$smarty)
{
return mb_convert_encoding($buff,"SJIS","UTF-8");
}
プリフィルタとポストフィルタはテンプレートに記述されている文字列を変換するだけで、DBなどから動的に出力する文字列には効かない。アウトプットフィルタの場合はブラウザへ出力する直前のデータをフィルタしてくれる。
これで無事解決。。。。と思ったのだけれど、このままでは出力されるヘッダがUTF-8のままのため、文字化けが発生してしまう。さて、どうしたもんか、、、と思いつつGoogleで調べてみたら「ini_set("default_charset", "Shift_JIS");」を入れれば解決できることがわかった。
これが最終形
$smarty->register_outputfilter("filterSjis");
ini_set("default_charset", "Shift_JIS");
function filterSjis($buff, &$smarty)
{
return mb_convert_encoding($buff,"SJIS","UTF-8");
}
MTのトラックバック通知メールのトラックバックを編集URLが改行されてしまう
MTで、トラックバックが入ったら自動でメール通知してくれる機能がある。で、このメールに記載されるトラックバック編集用URLが途中で改行されてしまって困っていた。
こんな感じ↓
いろいろ試してみたら、/mt/tmpl/email/new-ping.tmpl を編集すれば簡単に直せることが分かった。
7行目を以下のように変更。見ての通り改行を入れるだけです。ついでに余分な<>も取り除きました。
変更前
変更後
これでトラックバックの管理がかなりやりやすくなりました。
こんな感じ↓
「エントリ名 (ブログ: ブログ名、エントリーID: ****)」への未承
認のトラックバックを受け付けました。トラックバックを公開するためには承認を
してください。
トラックバックを承認: <http://mt.kawama.jp/mt.cgi?__mode=view&id=***&_t
ype=ping&blog_id=***>
いろいろ試してみたら、/mt/tmpl/email/new-ping.tmpl を編集すれば簡単に直せることが分かった。
7行目を以下のように変更。見ての通り改行を入れるだけです。ついでに余分な<>も取り除きました。
変更前
<MT_TRANS phrase="Approve this TrackBack:"> <<TMPL_VAR NAME=EDIT_URL>>
変更後
<MT_TRANS phrase="Approve this TrackBack:">
<TMPL_VAR NAME=EDIT_URL>
これでトラックバックの管理がかなりやりやすくなりました。
postgresqlでクエリ実行ログを取る
postgresqlのバージョン7.4以前の場合は、コンパイルオプションでログを取るように明示的に指定しなくてはいけないらしい。
7.4以降はデフォルトでログを取るようになっているが、デフォルトではクエリログは取得しないので、postgresql.confにて設定が必要。
↓ここに詳しい内容が載ってます
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-November/015217.html
7.4以降はデフォルトでログを取るようになっているが、デフォルトではクエリログは取得しないので、postgresql.confにて設定が必要。
↓ここに詳しい内容が載ってます
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-November/015217.html
2006年3月9日木曜日
mysqlとphpの連携で文字化け。skip-character-set-client-handshakeで解消
だいぶ使い慣れてきたMySQL5.0。
が、しかし!油断していたら文字化けが発生!
新しいサーバーにmysqlとphp、apacheを設置し、いつものようにアプリ開発しようと思ったが、mysqlからselectしてphpでデータ出力する際、日本語が「????」という感じで、はてなマークの羅列になってしまう。
こんな現象初めてだ。。。
しばらく悩んだけど、google先生が解決してくれた。「skip-character-set-client-handshake」というおまじないで文字化け問題解消。my.cnfの[mysqld]の項に以下のような感じで一行追加。
mysqldをリスタートしたら日本語が表示できるようになりました。よかったよかった。
ちなみに「skip-character-set-client-handshake」は、『サーバーの文字コード設定をクライアントでもそのまま使う』という意味だとか。
http://puchiko.lowtech.ne.jp/?itemid=349&catid=27
が、しかし!油断していたら文字化けが発生!
新しいサーバーにmysqlとphp、apacheを設置し、いつものようにアプリ開発しようと思ったが、mysqlからselectしてphpでデータ出力する際、日本語が「????」という感じで、はてなマークの羅列になってしまう。
こんな現象初めてだ。。。
しばらく悩んだけど、google先生が解決してくれた。「skip-character-set-client-handshake」というおまじないで文字化け問題解消。my.cnfの[mysqld]の項に以下のような感じで一行追加。
[mysqld]
skip-character-set-client-handshake
mysqldをリスタートしたら日本語が表示できるようになりました。よかったよかった。
ちなみに「skip-character-set-client-handshake」は、『サーバーの文字コード設定をクライアントでもそのまま使う』という意味だとか。
http://puchiko.lowtech.ne.jp/?itemid=349&catid=27
2006年3月8日水曜日
JavaScriptでフォームで参照された画像をリアルタイムに表示する
参考になるサイトを発見したので、忘れないようにブックマーク。
firefoxは仕様上の問題でダメみたいだけど、なかなか使えそう。
http://codeweb.seesaa.net/article/6891945.html
firefoxは仕様上の問題でダメみたいだけど、なかなか使えそう。
http://codeweb.seesaa.net/article/6891945.html
2006年3月3日金曜日
MySQLのcase構文
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_15.htm
これまでcase構文の存在を知らなかったので、目からウロコだった。
case、すんごい使えそう。これからバリバリ活用していきます!
これまでcase構文の存在を知らなかったので、目からウロコだった。
case、すんごい使えそう。これからバリバリ活用していきます!
登録:
投稿 (Atom)