Как отправить комментарий на форум с кодировкой windows-1251?



  • Как отправить комментарий на форум с кодировкой windows-1251, через запросы? На сайтах с кодировкой UTF-8 , комментарий отображается корректно, если сайт windows-1251, то кракозябрами всё. Кодирую в урленкод перед отправкой текст. Дело в том что в тексте есть юникод символы и если отправлять POST с кодировкой windows-1251, то вместо юникод символов отображаются "?как?дела?привет?????". Как правильно отправить запрос, чтобы текст корректно отображался?



  • Через браузер если отправлять, то не так: "?как?дела?привет?????" текст отображается на странице, а например так: "ツкак➤дела➤привет ᴴᴰ ➬". Не могу понять в какую кодировку кодировать чтобы отправить через POST?



  • @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    Через браузер если отправлять, то не так: "?как?дела?привет?????" текст отображается на странице, а например так: "ツкак➤дела➤привет ᴴᴰ ➬". Не могу понять в какую кодировку кодировать чтобы отправить через POST?

    А как вы через браузер отправляете unicode символы, если, как вы выразились, "сайт windows-1251"?



  • @fox said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    Через браузер если отправлять, то не так: "?как?дела?привет?????" текст отображается на странице, а например так: "ツкак➤дела➤привет ᴴᴰ ➬". Не могу понять в какую кодировку кодировать чтобы отправить через POST?

    А как вы через браузер отправляете unicode символы, если, как вы выразились, "сайт windows-1251"?

    Вот именно, что если просто ввести в поле комментария текст "ツкак➤дела➤привет ᴴᴰ ➬", через действие "Ввод текста"(используя браузер а не запросы),то отправленный комментарий через браузер отображается: "ツкак➤дела➤привет ᴴᴰ ➬", а отправленный через POST(кодировку правильную ставлю windows-1251, как в ответе сервера) виден так: "?как?дела?привет?????" . Текст берется из ресурса-"Генератор строк", кодируется в urlencod и отправляется через POST. Почему через браузер всё ровно отображается, а через запросы - криво? Текст в "Генератор строк" всегда в UTF-8 кодировке? Получается сейчас так: UTF-8 ->> urlencod ->> POST-запрос. Может нужно так кодировать: UTF-8 ->> KOI8‑R ->> urlencod ->> POST-запрос. Вопрос весь в том, что не понятно, как правильно закодировать текст перед отправкой, чтобы верно отображался комментарий на странице?



  • @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @fox said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    Через браузер если отправлять, то не так: "?как?дела?привет?????" текст отображается на странице, а например так: "ツкак➤дела➤привет ᴴᴰ ➬". Не могу понять в какую кодировку кодировать чтобы отправить через POST?

    А как вы через браузер отправляете unicode символы, если, как вы выразились, "сайт windows-1251"?

    Вот именно, что если просто ввести в поле комментария текст "ツкак➤дела➤привет ᴴᴰ ➬", через действие "Ввод текста"(используя браузер а не запросы),то отправленный комментарий через браузер отображается: "ツкак➤дела➤привет ᴴᴰ ➬", а отправленный через POST(кодировку правильную ставлю windows-1251, как в ответе сервера) виден так: "?как?дела?привет?????" . Текст берется из ресурса-"Генератор строк", кодируется в urlencod и отправляется через POST. Почему через браузер всё ровно отображается, а через запросы - криво? Текст в "Генератор строк" всегда в UTF-8 кодировке? Получается сейчас так: UTF-8 ->> urlencod ->> POST-запрос. Может нужно так кодировать: UTF-8 ->> KOI8‑R ->> urlencod ->> POST-запрос. Вопрос весь в том, что не понятно, как правильно закодировать текст перед отправкой, чтобы верно отображался комментарий на странице?

    Вы не уловили суть, символов ツ➤ᴴᴰ ➬ в кодировке windows-1251 попросту нет, по этому они и заменяются на знаки вопроса. Раз эти символы корректно передаются в браузере, значит ваш сайт всё же принимает запросы в юникоде



  • This post is deleted!


  • This post is deleted!


  • Как правильно текст отправить через POST? Чтобы Marianna-коммент, отображался как Darina-коммент?



  • @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    ツкак➤дела➤привет ᴴᴰ ➬

    http://samlib.ru/cgi-bin/comment
    
    Host: samlib.ru
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Encoding: gzip, deflate
    Referer: http://samlib.ru/cgi-bin/comment?COMMENT=/s/syromjatnikowa_i/razrushiteliall
    DNT: 1
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    
    
    "FILE","/s/syromjatnikowa_i/razrushiteliall","MSGID","","OPERATION","store_new","NAME",{{Imya}},"EMAIL","","URL","","TEXT","ツкак➤дела➤привет ᴴᴰ ➬","add","��������!"
    

    Вас не смутил параметр add? ��������!



  • @fox said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    ツкак➤дела➤привет ᴴᴰ ➬

    http://samlib.ru/cgi-bin/comment
    
    Host: samlib.ru
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Encoding: gzip, deflate
    Referer: http://samlib.ru/cgi-bin/comment?COMMENT=/s/syromjatnikowa_i/razrushiteliall
    DNT: 1
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    
    
    "FILE","/s/syromjatnikowa_i/razrushiteliall","MSGID","","OPERATION","store_new","NAME",{{Imya}},"EMAIL","","URL","","TEXT","ツкак➤дела➤привет ᴴᴰ ➬","add","��������!"
    

    Вас не смутил параметр add? ��������!

    Скорее всего это кнопка "Добавить!". Коммент независимо от параметра add доходит до назначения, даже если прописать вместо "��������!" "Добавить!", то текст так же не верно отображается.



  • @fox Может текст не так "ツкак➤дела➤привет ᴴᴰ ➬" нужно в запрос прописывать а кодировать .... вообщем я так и не понял.



  • @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @fox Может текст не так "ツкак➤дела➤привет ᴴᴰ ➬" нужно в запрос прописывать а кодировать .... вообщем я так и не понял.

    Да, необходимо заменять utf-8 символы их эквивалентом HTML-сущности:

    [[TEXT]] = "ツкак➤дела➤привет ᴴᴰ ➬"
    [[TEXT_CODE]] = [[TEXT]].replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
       return '&#'+i.charCodeAt(0)+';';
    })
    

    name11 - результат отправки [[TEXT_CODE]]
    name9 - результат отправки [[TEXT]]

    0_1571172579947_49051d4a-7fa6-4214-bdbb-89701b61db58-изображение.png

    Тестовый скрипт



  • This post is deleted!


  • @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    Вот я и искал код типа того который в урленкод кодирует перед отправкой. Этот код универсален для всех юникод символов или для каждого символа

    &#12484;
    &#10148;
    &#10148;
    &#7476;
    &#7472; 
    &#10156
    

    нужно искать и подставлять?

    Быстрее было бы проверить в тестовом скрипте, чем спрашивать :D. Код универсален



  • Спасибо 👍



  • This post is deleted!


  • This post is deleted!


  • @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @fox Вот этот невидимый https://www.fileformat.info/info/unicode/char/fe00/index.htm юникод символ не верно перекодируется:

    В обычном блокноте его не видно(если правильно прописать):

    Этот код заменяет все символы в данном диапазоне (unicode 00A0 - 9999, а также амперсанд, больше и меньше) с их эквивалентами сущностей html, который просто &#nnn;, где nnn - это значение unicode, которое мы получаем от charCodeAt.



  • This post is deleted!


  • @revers said in Как отправить комментарий на форум с кодировкой windows-1251?:

    @fox этот символ выглядит так:

    &#65024;
    

    Приложите строку с этим символом или текстовый документ с этой строкой


Log in to reply