кодировка — php $ _GET не работает правильно с символами ISO-8859-1

Я получил базу данных, которая содержит буквы с акцентом (например, «é» и т. Д.) В нескольких полях. Если я отображаю их на своих страницах, они отображаются правильно, потому что я использую этот html-тег при отображении моего html:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

Но когда я хочу отобразить значение из параметра из моего URL с помощью $ _GET, это не сработает.

Я использую этот код:

$fname = $_GET['fname'];

Фактический вывод:

groté

Желаемый результат:

Groté

Кодировка выглядит хорошо для меня, я проверил это с помощью этого кода:

var_dump($fname);
var_dump(iconv_get_encoding('all'));

Выход:

string(6) "groté"array(3) { ["input_encoding"]=> string(10) "ISO-8859-1" ["output_encoding"]=> string(10) "ISO-8859-1" ["internal_encoding"]=> string(10) "ISO-8859-1" }

Я не использую код, где я устанавливаю кодировку в php. Я использую только метатег, как отмечено выше.

Что не так с моим кодом?

0

Решение

ОК, после дальнейшего расследования я нашел решение!

$fnameraw = $_GET['fname'];
$fname = utf8_decode($fnameraw);

Теперь я получил правильный вывод: Groté!
При использовании charset = ISO-8859-1 в моем метатеге. Оба вывода базы данных в качестве вывода из URL отображаются правильно.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]