一身上の都合で文字エンコーディングと戦った時のメモ PHPにおける文字列のエンコーディングはphp-mbstringモジュールで提供されている。 mb_detect_encodingはデフォルトではASCIIとUTF-8しかチェックしてくれない。 mb_detect_orderでチェックするエンコーディング形式を指定することができる。 だがしかし、対して検出精度はよくない。 不適切なエンコーディングで変換された場合、脆弱性になり得る。 テスト環境 OS : CentOS7 PHP : 7.0.11 エンコードテスト UTF-8の文字列をmb_convert_encodingで各文字エンコーディングで変換し、mb_detect_encodingとmb_check_encodingで検出させる。 $str = 'てすと'; $enc = [ 'UTF-8', 'UTF-7', 'ASCII',