трабл с utf-8 -> windows-1252

Страшный Злодей

Бывший член клуба (достало хамство).
трабл с utf-8 -> windows-1252

Сорри, если раньше обсуждалось - поиск по форуму ничего не дал.

Никогда ранее не сталкивался с кодировкой windows-1252 (cp1252 ), а тут пришлось. Надо скриптом преобразовать текст из utf-8 в windows-1252, попытался любимой [m]iconv[/m]
PHP:
iconv('utf-8', 'windows-1252', 'Русский текст')
не помогло... как можно порешать?
 

x-yuri

Новичок
хорошо, без намеков: как ты собираешься преобразовать русский текст в кодировку, в которой он отсутствует?
 

zerkms

TDD infected
Команда форума
x-yuri
предлагаю с другой стороны зайти:

Страшный Злодей
объясни, какая перед тобой стоит задача.
 

Страшный Злодей

Бывший член клуба (достало хамство).
Автор оригинала: zerkms
предлагаю с другой стороны зайти:
Ну вы это... насчет другой стороны это как? не надо :)

А по существу - задача тупая до ужаса. Есть корпоративный сервер, на котором содержится инфа для структурных подразделений. Для каждого свой раздел. После авторизации народ ручками выбирает то, что нужно, тратя на это драго-время. Попросили помочь этот процесс автоматизировать, дабы по расписанию некий скрипт подключался и выбирал нужную инфу. ПО сервера перенастраивать не реально, центральный сервер в главке, там и слышать ничего не хотят про любые доработки, им это на фиг не нужно, а люди пользователи страдают... Так вот какая там бодяга обнаружилась, загадка прямо для меня. Через браузер все работает. Через сокеты только когда посылаешь в кодировке 1252 (русские слова в теле хидера boundary). Понимаю, что похоже на бред, но вы сами просили задачу описать...
 

ys

отодвинутый новичок
Страшный Злодей

Вы не ответили на вопрос, где в данной кодировке закрались русские буквы.
 

dimagolov

Новичок
:)
[telepat mode on]
У него центральный сервер принимает в 1251, но заголовки хочет для этого 1252
[telepat mode off]
Чтобы убедиться в этом, надо посмотреть заголовки, которые получает-посылает броузер.
Если я прав, то перекодировать надо в 1251.
 

Активист

Активист
Команда форума
> Через браузер все работает
Что все?

> Через сокеты только когда посылаешь в кодировке 1252 (русские
> слова в теле хидера boundary).

Это что такое? я не въехал)

> У него центральный сервер принимает в 1251, но заголовки
> хочет для этого 1252
Что за план? Поделитесь)))

-~{}~ 14.01.09 02:06:

Русский слов в кодировке 1252 быть не может)) вообще не может, ни как не может...

Проблему нужно объяснять четко. А тут сопли...

-~{}~ 14.01.09 02:08:

dimagolov
> У него центральный сервер принимает в 1251, но заголовки
> хочет для этого 1252

Кажись наоборот. Хранит в 1252, а заголовки хочет 1251 ))

-~{}~ 14.01.09 02:10:

Коды та символов остаются прежними. Дело видать в заголовках да и только. В любом случае, отображаться может только в cp1251.
 

Страшный Злодей

Бывший член клуба (достало хамство).
dimagolov
Блин, ну я сам не пойму, что за беда.. фраза "Русский язык", обработается лишь тогда, когда будет послана в таком виде -
. Как браузер "догадывается" до того, каким образом кодировать эту фразу - не знаю.

Активист
Что значит твой вопрос - "Что все?" каким ты хочешь увидеть ответ на него?

>"Это что такое? я не въехал)" - Чего именно тебе не понятно,про то как послать в теле заголовка boundary, русскую фразу???

> "Русский слов в кодировке 1252 быть не может)) вообще не может, ни как не может..." - выше в этом же сообщении почитай

>"Проблему нужно объяснять четко. А тут сопли..." - На вопросы нужно либо не отвечать, либо отвечать по делу, а у тебя оффтоп, спам, флуд и какашки :)

-~{}~ 14.01.09 02:57:

x-yuri

Дя нет, не в БД, а в скрипте-клиенте дело - не получается браузер полноценно эмулировать.
 

x-yuri

Новичок
для чего используется boundary? ты файлы uploadишь?
как связаны сокеты с браузером? браузер может через сокеты коннектится к веб-серверу?
не получается браузер полноценно эмулировать.
эмулировать браузер? это как?

-~{}~ 14.01.09 02:00:

а по поводу того, что бразер сам определяет кодировку - есть наверное какие-то эмпирические методы

-~{}~ 14.01.09 02:03:

например, mbstring может автоматически выбирать кодировку исходной строки из заданного списка
 

Страшный Злодей

Бывший член клуба (достало хамство).
x-yuri
boundary использую, так как там разнородное содержимое бывает, чаще правда тексты большие и по кол-ву полей много.
 

x-yuri

Новичок
там это где? ты почту отсылаешь, файлы скачиваешь/закачиваешь?
и как связан браузер с сокетами?
 

Страшный Злодей

Бывший член клуба (достало хамство).
я все описал здесь Через браузер - это когда руками. Через сокеты - это автоматически скриптом. boundary юзаю для отправки POST данных. Не файлы, не почта, только текстовые данные (на описываемом этапе).
 

Страшный Злодей

Бывший член клуба (достало хамство).
Автор оригинала: x-yuri
и еще, русские символы в названии границы? или в тексте частей? для каждой части можно задавать Content-Type
Внутри частей, в тексте т.е.
За подсказочку по поводу Content-Type, спасибо. Теперь буду думать как применить, но в любом случае не сейчас так в дальнейшем пригодится - буду знать.


Обидно, что туплю не могу понять - каким образом браузеру удаётся сделать, то, что мне не удаётся через сокеты. Почему он русский текст загоняет в эту уродливую кодировку???
 
Сверху