エンコーディングの扱い
エンコーディングを扱うユーティリティクラスを作って、エンコーディング関係の処理は任せてみようかと。mbstringモジュールがあればmb*関数で処理を行い、iconvモジュールがあればiconv*関数で処理を行うイメージ。処理の優先順位はmbstring > iconv。
- Moony_Encode
- setInternalEncoding($encode): void
- getInternalEncoding(): string
- convert($var, $from_encoding, $to_encoding): mixed
とりあえずMoonyで使いそうな実装だけ。PHP5からiconvモジュールが標準で組み込まれているので、mbstringモジュールを使わないというのもありだと思う。