PHP. Кодировка cp1251

DavyJohnes
На сайте с 05.01.2011
Offline
84
1409

Имеется php скрипт my.php,

который принимает, обрабатывает и отдает данные в кодировке cp1251.

Его первая строчка:


echo urldecode($_GET['x']);

Сам файл в соответствующей кодировке, и в начале скрипта

header("Content-type: text/html; charset=windows-1251");

тоже есть.

Если передать ему параметр вот такой:


my.php?x=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82

То в браузере я вижу "Привет".

Если же передать ему такой параметр


my.php?x=привет

То в браузере я вижу кракозябры. В чем проблема ?

З.Ы.: без urldecode результат другой, но тоже кривой.

З.Ы.Ы.: Прошу не предлагать переходить на юникод.

https://handy-tools.io (https://handy-tools.io) - Набор полезных утилит для всех!
Таггу x_x
На сайте с 31.10.2005
Offline
445
#1

DavyJohnes, браузер какой? У Осла и отчасти Оперы есть проблемка одна, связанная с encoding.

Поиграйся с iconv.

☠️☠️☠️
Doroga_v_Nebo
На сайте с 09.11.2009
Offline
65
#2

а в какой кодировке my.php сохранен?

// ок, ага

Подпись.
DavyJohnes
На сайте с 05.01.2011
Offline
84
#3
Doroga_v_Nebo:
а в какой кодировке my.php сохранен?

Внимательно читайте первый пост

DavyJohnes:
Сам файл в соответствующей кодировке,
RO
На сайте с 13.07.2009
Offline
88
#4

юзайте utf-8 и не знайте горя.

siv1987
На сайте с 02.04.2009
Offline
427
#5

передаю id=%EF%F0%E8%E2%E5%F2

вижу в браузере id=привет

передаю id=привет

вижу id=привет

Если передать ему параметр вот такой:

Это утф-8

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий