it-swarm-ru.tech

Конвертировать ASCII в кодировку UTF-8

Как конвертировать ASCII кодировку в UTF8 в PHP

32
user614856

ASCII является подмножеством UTF-8, поэтому, если документ ASCII, то это уже UTF-8.

48
Quentin

Если вы точно знаете, что ваша текущая кодировка является чистой ASCII, вам не нужно ничего делать, потому что ASCII уже является допустимым UTF-8.

Но если вы все еще хотите конвертировать, просто чтобы быть уверенным, что это UTF-8, то вы можете использовать iconv

$string = iconv('ASCII', 'UTF-8//IGNORE', $string);

IGNORE будет отбрасывать любые недопустимые символы только в том случае, если некоторые из них не были действительными ASCII.

25
Dmitri

Используйте mb_convert_encoding для преобразования ASCII в UTF-8. Подробнее здесь

$string = "chárêctërs";
print(mb_detect_encoding ($string));

$string = mb_convert_encoding($string, "UTF-8");
print(mb_detect_encoding ($string));
4
albertoiNET

Используйте utf8_encode()

Справочную страницу можно найти здесь http://php.net/manual/en/function.utf8-encode.php

Также прочитайте эту статью от Джоэла о программном обеспечении. Это дает отличное объяснение, что такое Unicode и как он работает. http://www.joelonsoftware.com/articles/Unicode.html

4
thomas

"ASCII - это подмножество UTF-8, так что ..." - так что UTF-8 - это набор? :)

Другими словами: любая строка строится с code points от x00 до x7F имеет неразличимые представления (байтовые последовательности) в ASCII и UTF-8. Преобразование такой строки не имеет смысла.

3
Radek M