Как перевести строку в utf-8 на PHP?

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

от raina , в категории: PHP , 3 года назад

Как перевести строку в utf-8 на PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от adela , 3 года назад

@raina  Используйте функцию iconv() в PHP чтобы перевести строку в UTF-8 на PHP, если Вы не знаете исходную кодировку строки, то можно попробовать использовать функцию mb_detect_encoding(), ниже пример кода:


1
2
3
4
5
<?php

$str = "Тестовая строка";

$str = iconv(mb_detect_encoding($str, mb_detect_order(), TRUE), 'UTF-8', $str);


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

от jamey.kohler , 2 года назад

@raina 

Строки в PHP по умолчанию кодируются в UTF-8, поэтому в большинстве случаев не требуется явного преобразования.


Однако, если у вас есть строка в другой кодировке, вы можете использовать функцию iconv для ее преобразования в UTF-8. Например:

1
2
3
$string = "Пример строки в кодировке Windows-1251";
$string_utf8 = iconv("Windows-1251", "UTF-8", $string);
echo $string_utf8; // выведет "Пример строки в кодировке Windows-1251" в кодировке UTF-8


В этом примере функция iconv принимает три аргумента: исходную кодировку, целевую кодировку и строку, которую нужно преобразовать.


Также возможно использовать функцию mb_convert_encoding для преобразования кодировки строки. Например:

1
2
3
$string = "Пример строки в кодировке Windows-1251";
$string_utf8 = mb_convert_encoding($string, "UTF-8", "Windows-1251");
echo $string_utf8; // выведет "Пример строки в кодировке Windows-1251" в кодировке UTF-8


В этом примере функция mb_convert_encoding также принимает три аргумента: строку, которую нужно преобразовать, целевую кодировку и исходную кодировку.