array mb_list_encodings()
サポートするすべてのエンコーディングの配列を返す。
bool mb_check_encoding(<文字列>, <エンコーディング>)
文字列が指定したエンコーディングかを判定する。
サンプルーコード
$encodings = mb_list_encodings();
dispArray($encodings);
$str = 'こんにちは';
echo mb_check_encoding($str, 'UTF-8') ? "UTF-8\n" : "UTF-8以外\n";
サンプルコードの出力
[0]=>pass,[1]=>auto,[2]=>wchar,[3]=>byte2be,[4]=>byte2le,[5]=>byte4be,[6]=>byte4le,[7]=>BASE64,[8]=>UUENCODE,[9]=>HTML-ENTITIES,[10]=>Quoted-Printable,[11]=>7bit,[12]=>8bit,[13]=>UCS-4,[14]=>UCS-4BE,[15]=>UCS-4LE,[16]=>UCS-2,[17]=>UCS-2BE,[18]=>UCS-2LE,[19]=>UTF-32,[20]=>UTF-32BE,[21]=>UTF-32LE,[22]=>UTF-16,[23]=>UTF-16BE,[24]=>UTF-16LE,[25]=>UTF-8,[26]=>UTF-7,[27]=>UTF7-IMAP,[28]=>ASCII,[29]=>EUC-JP,[30]=>SJIS,[31]=>eucJP-win,[32]=>SJIS-win,[33]=>CP51932,[34]=>JIS,[35]=>ISO-2022-JP,[36]=>ISO-2022-JP-MS,[37]=>Windows-1252,[38]=>ISO-8859-1,[39]=>ISO-8859-2,[40]=>ISO-8859-3,[41]=>ISO-8859-4,[42]=>ISO-8859-5,[43]=>ISO-8859-6,[44]=>ISO-8859-7,[45]=>ISO-8859-8,[46]=>ISO-8859-9,[47]=>ISO-8859-10,[48]=>ISO-8859-13,[49]=>ISO-8859-14,[50]=>ISO-8859-15,[51]=>ISO-8859-16,[52]=>EUC-CN,[53]=>CP936,[54]=>HZ,[55]=>EUC-TW,[56]=>BIG-5,[57]=>EUC-KR,[58]=>UHC,[59]=>ISO-2022-KR,[60]=>Windows-1251,[61]=>CP866,[62]=>KOI8-R,[63]=>ArmSCII-8,
UTF-8
string mb_detect_encoding(<文字列>, [<エンコーディングリスト>])
文字列のエンコーディングの検出を試みる。エンコーディングリストは配列かカンマ区切りの文字列で、省略された場合のデフォルトはUTF-8とASCII。
戻り値は検出されたエンコーディング。検出できなかった場合はFALSE。
サンプルーコード
$str = 'こんにちは';
echo mb_detect_encoding($str, mb_list_encodings());
echo "\n";
echo mb_detect_encoding($str, 'UTF-8,EUC,SJIS');
サンプルコードの出力
UTF-8
UTF-8
string mb_convert_encoding(<文字列>, <変換先エンコーディング>[, <変換元エンコーディング>)
文字列を変換元エンコーディングから変換先エンコーディングに変換して返す。変換元エンコーディングが省略された場合のデフォルトは内部エンコーディング。
サンプルーコード
$str = 'こんにちは';
echo $str;
echo "\n";
echo mb_convert_encoding($str, 'SJIS');
サンプルコードの出力
こんにちは
???ノ???ヘ
string mb_convert_variables(<変換先エンコーディング>, <変換元エンコーディング>, <文字列変数>)
変数の文字列を指定したエンコーディングで変換する。文字列変数には変数、配列、オブジェクトを使用できる。
戻り値は変換前のエンコーディング。変換に失敗した場合はFALSE。
サンプルーコード
$str1 = 'こんにちは';
if (FALSE !== mb_convert_variables('SJIS', 'UTF-8', $str1)) {
echo $str1 . "\n";
} else {
echo '$str1' . ":変換失敗\n";
}
$str2 = array('明治', '大正', '昭和', '平成');
if (FALSE !== mb_convert_variables('SJIS', 'UTF-8', $str2)) {
dispArray($str2);
} else {
echo '$str2' . ":変換失敗\n";
}
サンプルコードの出力
???ノ???ヘ
[0]=>????,[1]=>?吳,[2]=>???a,[3]=>????,
mixed mb_substitute_character([<代替文字>])
変換できなかった文字の代わりとして出力する文字を指定する。引数無しの場合は代替文字を出力する。代替文字はUnicode値の整数で指定する。また"none"とした場合は代替文字を出力しない。
戻り値は引数がある場合は設定に成功した場合はTRUE、そうでない場合はFALSE。引数がない場合はUnicode値。
サンプルーコード
echo mb_substitue_character();
サンプルコードの出力
63
Recent Comments