Как перевести из windows 1251 в utf 8 в php?

Пользователь

от clifford , в категории: PHP , 2 года назад

Как перевести из windows 1251 в utf 8 в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от craig.emmerich , 2 года назад

@clifford 

Чтобы перекодировать строку из кодировки Windows-1251 в UTF-8 в PHP, вы можете использовать функцию mb_convert_encoding(). Эта функция предназначена для перекодирования строк между различными кодировками.


Синтаксис функции mb_convert_encoding() таков:

1
mb_convert_encoding(string $str, string $to_encoding, [string $from_encoding])


Аргумент $str представляет собой строку, которую нужно перекодировать. Аргумент $to_encoding определяет кодировку, в которую нужно перекодировать строку, а аргумент $from_encoding (необязательный) определяет исходную кодировку строки. Если аргумент $from_encoding не указан, то функция пытается автоматически определить исходную кодировку строки.


Ниже приведен пример кода, который перекодирует строку из кодировки Windows-1251 в UTF-8:

1
2
3
$str = 'Привет, мир!';
$str_utf8 = mb_convert_encoding($str, 'UTF-8', 'Windows-1251');
echo $str_utf8; // Выведет: 'Пр


Пользователь

от kaleigh , год назад

@clifford 

ивет, мир!'


В этом примере переменная $str содержит строку, которую нужно перекодировать. Функция mb_convert_encoding() принимает эту строку в качестве первого аргумента. Второй аргумент 'UTF-8' указывает, в какую кодировку нужно перекодировать строку. А третий аргумент 'Windows-1251' указывает, что исходная кодировка строки - Windows-1251.


После выполнения функции mb_convert_encoding() переменная $str_utf8 будет содержать перекодированную строку в UTF-8. В данном случае выводится строка 'Привет, мир!', так как UTF-8 поддерживает символы русского алфавита.


Обратите внимание, что для использования функции mb_convert_encoding() необходимо, чтобы расширение mbstring было включено в PHP. Если вы используете стандартную установку PHP, расширение mbstring уже должно быть установлено и включено.