на http://www.gnu.org/software/libiconv/ есть как 20 типов кодирования для китайского:Как определить, какой тип китайского кодирования имеет текстовый файл?
китайский EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS: 2004, BIG5-HKSCS: 2001, BIG5-HKSCS: 1999, ISO-2022-CN, ISO-2022-CN-EXT
Так у меня есть текстовый файл, который не является UTF-8. Это ASCII. И я хочу преобразовать его в UTF-8, используя iconv()
. Но для этого мне нужно знать кодировку символа источника.
Как я могу это сделать, если я не знаю китайца? :(
Я заметил, что:
$str = iconv('GB18030', 'UTF-8', $str);
file_put_contents('file.txt', $str);
создает файл UTF-8 кодируются, а другие кодировки я пытался (CP950, GBK и EUC-CN), полученный файл ASCII Может это означает, что iconv
есть. в состоянии обнаружить, если входное кодирование является неправильным для данной строки?
Взгляните на [mb_detect_encoding] (http://php.net/manual/en/function.mb-detect-encoding.php) – davidkonrad
Самый надежный способ, вероятно, будет иметь решение пользователя –
@david yea i узнайте об этом. но я могу использовать его только для выяснения, является ли источник UTF-8 или нет. Я знаю, что это не lol .. – thelolcat