Определение кодировки переменной, переданной через GET

bav

Новичок
Определение кодировки переменной, переданной через GET

Делаю информер-картинку. Она генерится пхп скриптом, который работает в кодировки UTF8. Когда вставляю информер-картинку на страницы с UTF - все ок, если вставляю под cp1251, тогда помогает iconv, но это я руками переставлял, а как мне определять кодировку переменной из GET автоматически? (У меня в переменной лежат слова на русском)
Спасибо!
 

Adelf

Administrator
Команда форума
1) не передавать слова на русском.
2) Выбрать две(три кодировки). Определить какие символы в них являются русскими буквами. И самому статистически определять на какую кодировку больше похоже.
 

Вурдалак

Продвинутый новичок
Re: Определение кодировки переменной, переданной через GET

Автор оригинала: bav
Делаю информер-картинку. Она генерится пхп скриптом, который работает в кодировки UTF8. Когда вставляю информер-картинку на страницы с UTF - все ок, если вставляю под cp1251, тогда помогает iconv, но это я руками переставлял, а как мне определять кодировку переменной из GET автоматически? (У меня в переменной лежат слова на русском)
Спасибо!
А каким образом кодировка страницы может влиять на твой информер? Значит символы не URL-кодируются.
 

bav

Новичок
Re: Re: Определение кодировки переменной, переданной через GET

Автор оригинала: Вурдалак
А каким образом кодировка страницы может влиять на твой информер? Значит символы не URL-кодируются.
Ну вот человек указывает свое имя на Русском, оно подставляется переменную myscript.php?name=Катя Боброва&......
А когда на основании этих данных генерится картинка, когда вы этот информер-картинку вставляете на сайт, который в 1251, тогда там вместо "Катя Боброва" мы видим крокозяблики (если не применим iconv), а если эту же картинку вставить в страницу на UTF - тогда все ок!
Так что, видимо, влияет...
Т.е. путь картинки такой:
PHP:
src="http://mysite/myscript.php?name=Катя Боброва&bgcolor=FF47CB"
-~{}~ 18.11.09 22:46:

P.S. если смотреть как это делает begun или google, то у них надо ставить флажок, если УТФ используется, наверное они эту проблему так решают, но мне это решение не очень нравится...
 

Adelf

Administrator
Команда форума
bav
У тебя скорее всего две кодировки. Определить в какой написан чисто буквенный текст - раз плюнуть. Читай первый ответ.
или ты ищешь готовое решение?
 

bav

Новичок
Информер - он для всех, так что может быть и больше, наверное.
 

bav

Новичок
Спасибо, попробую тогда так как Adelf посоветовал.
 

Вурдалак

Продвинутый новичок
Re: Re: Re: Определение кодировки переменной, переданной через GET

Автор оригинала: bav
Ну вот человек указывает свое имя на Русском, оно подставляется переменную myscript.php?name=Катя Боброва&......
А когда на основании этих данных генерится картинка, когда вы этот информер-картинку вставляете на сайт, который в 1251, тогда там вместо "Катя Боброва" мы видим крокозяблики (если не применим iconv), а если эту же картинку вставить в страницу на UTF - тогда все ок!
Так что, видимо, влияет...
Т.е. путь картинки такой:
PHP:
src="http://mysite/myscript.php?name=Катя Боброва&bgcolor=FF47CB"
-~{}~ 18.11.09 22:46:

P.S. если смотреть как это делает begun или google, то у них надо ставить флажок, если УТФ используется, наверное они эту проблему так решают, но мне это решение не очень нравится...
Потому что надо URL-кодировать строку "Катя Боброва" с помощью urlencode()
 

dimagolov

Новичок
Потому что надо URL-кодировать строку "Катя Боброва" с помощью urlencode()
дело не в urlencode(), а в том, в какой кодировке были данные, которые скормили в urlencode(). даже немного не так. если юзер сохранил урл с "Катя Боброва" в букмарках или набрал его руками в строке адресе, то браузер все равно сделает urlencode(), но разные сделают это из разных кодировок (одни 1251, другие UTF-8), соответственно полученные в PHP параметры (их декодирует пхп сам) будут в неопределенной кодировке
 

Вурдалак

Продвинутый новичок
dimagolov, urlencode(), естественно, должен делаться на сайте, который предоставляет такой сервис. А если пользователь вручную поменял значение, то он действует только на свой страх и риск.
 

Савелей

Новичок
ну определяй в чем поступает и отдавай в той же кодировке, или я что-то не понял.
 

dimagolov

Новичок
Вурдалак, так проблема, описанная ТС возникает только тогда, когда юзер "действует только на свой страх и риск". если кодировка страницы указана и указанна правильно, то браузер всегда закодирует get-параметры правильно (например из формы) и ничего определять как бы и не нужно.

-~{}~ 20.11.09 12:22:

кстати, у автора информер независим от тех страниц, которые на него ссылаются. и кодировка тех страниц непредсказуема.
 

Фанат

oncle terrible
Команда форума
ну, из закладок - это очень редкий случай, им можно пре не бречь
 
Сверху