Camellia
Pure PHP character encoding conversion library
Install / Use
/learn @mtojo/CamelliaREADME
Camellia
Description
Pure PHP character encoding conversion library. Supported over 350 character encodings.
Usage
Character encoding conversion:
$string = 'String encoded by Shift_JIS.';
$conv = new Camellia_Converter;
$string = $conv->convert('Shift_JIS', 'UTF-8', $string);
// -> $string is encoded by UTF-8.
Character encoding detection (Currently supported Japanese only):
$charset = Camellia_Detector::detect($string, 'Japanese');
Supported Charsets
Name: Alternativnyj Variant Internal: alternativnyj Language: Russian
Name: Amiga-1251 Internal: amiga-1251 Language: Russian Source: http://www.amiga.ultranet.ru/Amiga-1251.html
Name: ANSEL Internal: ansel Language: Platform specifics Source: http://heiner-eichmann.de/gedcom/ansset.htm
Name: ArmSCII-7 Internal: armscii-7 Language: Armenian Source: http://pre98.elections.am/Software/
Name: ArmSCII-8 Internal: armscii-8 Language: Armenian Source: http://pre98.elections.am/Software/
Name: ArmSCII-8 (DOS/Macintosh) Internal: armscii-8a Language: Armenian Source: http://pre98.elections.am/Software/
Name: AST166-7:1997 Internal: ast166-7 Language: Armenian Source: http://moon.yerphi.am/~hovik/Armenian/Tables.html
Name: AST166-8:1997 Internal: ast166-8 Language: Armenian Source: http://moon.yerphi.am/~hovik/Armenian/Tables.html
Name: AST166-8:1997 (DOS/Macintosh) Internal: ast166-8a Language: Armenian Source: http://moon.yerphi.am/~hovik/Armenian/Tables.html
Name: Atari ST Internal: atarist Language: Platform specifics Source: http://www.unicode.org/Public/MAPPINGS/
Name: ATASCII Internal: atascii Language: Platform specifics Source: http://raster.infos.cz/atari/chars/atascii.htm Note: Some characters not compatible with Unicode
Name: Baltic Internal: baltic Language: Baltic
Name: Big5:1984 Internal: big5-1984 Language: Traditional Chinese Source: http://wakaba-web.hp.infoseek.co.jp/
Name: Big5:2003 Internal: big5-2003 Language: Traditional Chinese Source: http://www.gnu.org/software/libiconv/
Name: Big5-ETen Internal: big5-eten Language: Traditional Chinese Source: http://wakaba-web.hp.infoseek.co.jp/
Name: Big5E Internal: big5-ext Language: Traditional Chinese Source: http://wakaba-web.hp.infoseek.co.jp/
Name: Big5 + GCCS Internal: big5-gccs Language: Traditional Chinese Source: http://wakaba-web.hp.infoseek.co.jp/
Name: Big5-HKSCS:1999 Internal: big5-hkscs-1999 Language: Traditional Chinese Source: http://wakaba-web.hp.infoseek.co.jp/
Name: Big5-HKSCS:2001 Internal: big5-hkscs-2001 Language: Traditional Chinese Source: http://wakaba-web.hp.infoseek.co.jp/
Name: Big5+ Internal: big5-plus Language: Traditional Chinese Source: http://wakaba-web.hp.infoseek.co.jp/
Name: Bulgarian MIK Internal: bulgarian-mik Language: Bulgarian Source: http://en.wikipedia.org/wiki/MIK_Code_page
Name: CNS 11643-1986 Internal: cns11643-1986 Language: Traditional Chinese Source: http://www.unicode.org/Public/MAPPINGS/
Name: CNS 11643-1992 Internal: cns11643-1992 Language: Traditional Chinese
Name: IBM037 Internal: cp037 Language: English Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM038 Internal: cp038 Language: ?
Name: PTCP154 Internal: cp154 Language: Kazakh
Name: IBM256 Internal: cp256 Language: Western European
Name: IBM273 Internal: cp273 Language: German
Name: IBM274 Internal: cp274 Language: Western European
Name: IBM275 Internal: cp275 Language: Portuguese
Name: IBM277 Internal: cp277 Language: Norwegian
Name: IBM278 Internal: cp278 Language: Swedish
Name: IBM280 Internal: cp280 Language: Western European
Name: IBM281 Internal: cp281 Language: ?
Name: IBM284 Internal: cp284 Language: Western European
Name: IBM285 Internal: cp285 Language: English
Name: IBM290 Internal: cp290 Language: Japanese
Name: IBM297 Internal: cp297 Language: Western European
Name: IBM420 Internal: cp420 Language: Arabic
Name: IBM423 Internal: cp423 Language: Greek
Name: IBM424 Internal: cp424 Language: Hebrew Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM437 Internal: cp437 Language: English Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM500 Internal: cp500 Language: Western European Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM708 Internal: cp708 Language: ?
Name: IBM720 Internal: cp720 Language: Arabic
Name: IBM737 Internal: cp737 Language: Greek Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM775 Internal: cp775 Language: Baltic Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM806 Internal: cp806 Language: Hindi
Name: IBM833 Internal: cp833 Language: Korean
Name: IBM838 Internal: cp838 Language: Thai
Name: IBM849 Internal: cp849 Language: Bulgarian, Byelorussian, Macedonian, Russian, Serbian
Name: IBM850 Internal: cp850 Language: Western European Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM851 Internal: cp851 Language: Greek
Name: IBM852 Internal: cp852 Language: Central and Eastern European Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM853 Internal: cp853 Language: ?
Name: IBM855 Internal: cp855 Language: Bulgarian, Byelorussian, Macedonian, Russian, Serbian Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM856 Internal: cp856 Language: Hebrew Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM857 Internal: cp857 Language: Turkish Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM00858 Internal: cp858 Language: Western European
Name: IBM860 Internal: cp860 Language: Portuguese Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM861 Internal: cp861 Language: Icelandic Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM862 Internal: cp862 Language: Hebrew Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM863 Internal: cp863 Language: Canadian Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM864 Internal: cp864 Language: Arabic Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM865 Internal: cp865 Language: Danish, Norwegian Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM866 Internal: cp866 Language: Russian Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM868 Internal: cp868 Language: Urdu
Name: IBM869 Internal: cp869 Language: Greek Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM870 Internal: cp870 Language: Western European
Name: IBM871 Internal: cp871 Language: Icelandic
Name: IBM874 Internal: cp874 Language: Thai Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM875 Internal: cp875 Language: Greek Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM880 Internal: cp880 Language: Russian
Name: IBM904 Internal: cp904 Language: English
Name: IBM905 Internal: cp905 Language: Turkish
Name: IBM918 Internal: cp918 Language: Urdu
Name: IBM922 Internal: cp922 Language: Estonian
Name: IBM00924 Internal: cp924 Language: Western European
Name: IBM942 Internal: cp942 Language: Japanese
Name: IBM943 Internal: cp943 Language: Japanese
Name: IBM948 Internal: cp948 Language: Traditional Chinese
Name: IBM949 Internal: cp949 Language: Korean Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM950 Internal: cp950 Language: Traditional Chinese Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM954 Internal: cp954 Language: ?
Name: IBM964 Internal: cp964 Language: Traditional Chinese
Name: IBM1004 Internal: cp1004 Language: Western European
Name: IBM1006 Internal: cp1006 Language: Urdu
Name: IBM1025 Internal: cp1025 Language: Bulgarian, Byelorussian, Macedonian, Russian, Serbian
Name: IBM1026 Internal: cp1026 Language: Turkish Source: http://www.unicode.org/Public/MAPPINGS/
Name: IBM1046 Internal: cp1046 Language: Arabic
Name: IBM1047 Internal: cp1047 Language: Western European
Name: IBM1051 Internal: cp1051 Language: Western European
Name: IBM1098 Internal: cp1098 Language: Persian
Name: IBM1124 Internal: cp1124 Language: Bulgarian, Byelorussian, Macedonian, Russian, Serbian
Name: IBM1125 Internal: cp1125 Language: Bulgarian, Byelorussian, Macedonian, Russian, Serbian
Name: IBM1129 Internal: cp1129 Language: Vietnamese
Name: IBM1131 Internal: cp1131 Language: Bulgarian, Byelorussian, Macedonian, Russian, Serbian
Name: IBM1132 Internal: cp1132 Language: Laotian
Name: IBM1133 Internal: cp1133 Language: Laotian
Name: IBM01140 Internal: cp1140 Language: English
Name: IBM01141 Internal: cp1141 Language: German
Name: IBM01142 Internal: cp1142 Language: Norwegian
Name: IBM01143 Internal: cp1143 Language: Swedish
Name: IBM01144 Internal: cp1144 Language: Western European
Name: IBM01145 Internal: cp1145 Language: Western European
Name: IBM01146 Internal: cp1146 Language: English
Name: IBM01147 Internal: cp1147 Language: Western European
Name: IBM01148 Internal: cp1148 Language: Central and Eastern European
Name: IBM01149 Internal: cp1149 Language: Icelandic
Name: IBM1160 Internal: cp1160 Language: Thai
Name: IBM1161 Internal: cp1161 Language: Thai
Name: IBM1162 Internal: cp1162 Language: Thai
Name: IBM1163 Internal: cp1163 Language: Vietnamese
Name: IBM1164 Internal: cp1164 Language: Vietnamese
Name: IBM1361 Internal: cp1361 Language: ?
Name: IBM1370 Internal: cp1370 Language: ?
Name: IBM1381 Internal: cp1381 Language: Simplified Chinese
Name: IBM1383 Internal: cp1383 Language: Simplified Chinese
Name: IBM1386 Internal: cp1386 Language: ?
Name: CP5104 Internal: cp5104 Language: Arabic
Name: CP5478 Internal: cp5478 Language: ?
Name: CP20001 Internal: cp20001 Language: ?
Name: CP20002 Internal: cp20002 Language: Traditional Chinese
Name: CP20003 Internal: cp20003 Language: ?
Name: CP20004 Internal: cp20004 Language: ?
Name: CP20005 Internal: cp20005 Language: ?
Name: CP20105 Internal: cp20105 Language: ?
Name: CP20261 Internal: cp20261 Language: ?
Name: CP20269 Internal: cp20269 Language: ?
Name: CWI Internal: cwi Language: ?
Name: DEC Hanyu Internal: dec-hanyu Language: Traditional Chinese
Name: DEC Hanji Internal: dec-hanzi Language: Simplified C
