EUCで文字化け?

EUC で文字化けしたのを検証してみようと思ったけど - TECHNOLAZY.LOG
http://d.hatena.ne.jp/technolize/20080621/1214048670

気になったのでちょっと調べてみました。
マルチバイト周りは StringUtil にまとめられてて、処理元の文字列のエンコードはdetectEncoding()で決定されるのだけど。

	/**
	 * 文字列からエンコード文字列を取得
	 *
	 * @param string $value
	 * @return string
	 */
	function detectEncoding($value){
		/*** unit("lang.StringUtilTest"); */
		if(is_array($value) || is_object($value)) return null;
		return (extension_loaded("mbstring")) ? mb_detect_encoding($value) : StringUtil::UTF8();
	}

ん〜
$valueが短すぎるとmb_detect_encoding()がエンコードの判別を誤ってしまうから、これはちょっといやだなぁ。
mbstringの有無で判断してるわけですが、強制指定できるようにして欲しいな。

rhaco本体には手を加えないとするなら、

mb_detect_order('eucjp-win');

としておけば、誤判断はなくなるのかも?