文字コードがおかしいファイルをincludeやrequireすると何も表示されなくなる

wordpressのpageテンプレートを動的に生成してる。
すると表示させたときに???????????????といったハテナの連続だとか、何も表示されない現象が発生。
これはページのテンプレートに文字コードの表に存在しないようなコードが入ってると発生するらしい。emacsだとまったく読み込めない。xyzzyは頭よくて結構いい感じに読んでくれる。
バイナリエディタでみると確かに変な文字列が。
そもそもその不正な文字コードを根絶することももちろん必要だが、それを読み込ませるときになんとかしてやろうと。
過去にincludeじゃなくてread_fileを使うことで回避したんだけど、これだと読み込むファイルがphpだとうまく評価されない。
それに埋め込んでる箇所がwordpressの管理下なのでいつものパッチ作戦をやるとさらに増えるため、ふやしたくない。
template-loader.php 26% L38

} else if ( is_page() && $template = get_page_template() ) {
include($template);
//readfile($template);

ほんでこの読み込ませるファイルはbomをつけとるとincludeしても(おそらくrequireしても)バグったりしない。
bomつけてfile_put_contentsする関数を作成。

// bomを付けてファイル出力
// 直接実行されるファイルには付けるとバグるらしい
function eFilePutContents($path, $content){
$content = chr(0xef).chr(0xbb).chr(0xbf) . $content;
return file_put_contents($path, $content);
}

参考
http://cl.pocari.org/2006-06-05-1.html

phpで外部コマンドを呼び出すときの一例

実行演算子
PHP は 1 種類の実行演算子、バッククォート (“) をサポートします。 シングルクォートではないことに注意してください! PHP は、バッククォートの 中身をシェルコマンドとして実行しようとします。出力が返されます (すなわち、出力を単にダンプするのではなく、変数に代入することが できます) 。 バッククォート演算子の使用は shell_exec() と等価です。
$output

“;
?>

http://www.php.net/manual/ja/language.operators.execution.php

javascriptのprototype.jsでeachの意味って

Ruby スタイルのループ
標準的な JavaScript では、配列の要素を順番に表示しようとする場合、以下のように書くことでうまくいきます。

function showList(){
var simpsons = [‘Homer’, ‘Marge’, ‘Lisa’, ‘Bart’, ‘Maggie’];
for(i=0;i

我らが prototype.js では、このループをこんな風に書き換えることができます。

function showList(){
var simpsons = [‘Homer’, ‘Marge’, ‘Lisa’, ‘Bart’, ‘Meg’];
simpsons.each( function(familyMember){
alert(familyMember);
});
}

http://www.s2factory.co.jp/tech/prototype/prototype.js.html#Loops

文字化けしたテキストをrequire or includeすると何も出力されない

utfエンコーディングなテキストをrequire or includeして表示させようとしたら途中でエラー吐いてるみたいで止まる。
bomつけたらうまくいくんだけど、出力もphpだからbomの付け方わかんなかった。
で、他の関数つかったらいけた。
readfile();
readfile
(PHP 4, PHP 5)
readfile — ファイルを出力する
説明
int readfile ( string $filename [, bool $use_include_path= false [, resource $context ]] )
ファイルを読んで標準出力に書き出します。
http://jp2.php.net/manual/ja/function.readfile.php
#phpのramsyさんに教えてもらいました。thx!
対象となったテキスト
bin E3 81 BB E3 81 92 00 E3 81 92 E3 81 BB
ascii? [email protected]

snmptrapdが動かない

http://www.itmedia.co.jp/enterprise/articles/0705/31/news042_4.html
ここを参考に

$ snmptrap -v 1 -c trapprivate localhost .1.3.6.1.4.1.8072.99999 localhost 6 1 ” .1.3.6.1.4.1.8072.99999.1 s “Test Message”

しても、/var/log/messagesに以下のようなログが出て動かない。

Jul 7 10:51:19 xxxxxsnmptrapd[86089]: No access configuration – dropping trap.

これはsnmptrapd.confの場所が悪かった。
man snmptrapd.confするとファイルの場所を
/usr/local/etc/snmp/snmptrapd.confとしろ、とある。オプションで変更できるのだろうか、rc.dの起動巣rくりぷとには無かった。man snmptrapdしてrc.confにflags与えればいいのかな。もう面倒だからsnmpdと併せて一緒のディレクトリにする。