Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 02.09.2011, 12:50
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Сообщение от Kolyaj Посмотреть сообщение
Нельзя, в js придут знаки вопроса.
Точно помню, что именно таким способом перекодировал UTF-8 AJAX ответ в cp1251. Вот нашел где я это увидел:http://mabp.kiev.ua/2008/04/02/encod...in_javascript/

Последний раз редактировалось kadabrik, 02.09.2011 в 13:03.
Ответить с цитированием
  #22 (permalink)  
Старый 02.09.2011, 13:02
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от kadabrik
encodeURIComponent и decodeURIComponent
каким боком это? маны читай
Сообщение от kadabrik
http://mabp.kiev.ua/2008/04/02/encoding_decoding_utf_in_javascript/
прочитай там коменты под статьёй. Писавший её явно дуб.Не понимает разницу между кодировками и преобразованиями

Последний раз редактировалось dmitriymar, 02.09.2011 в 13:07.
Ответить с цитированием
  #23 (permalink)  
Старый 02.09.2011, 13:06
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Сообщение от dmitriymar Посмотреть сообщение
каким боком это?
// UTF-8 encode / decode by Johan Sundstr?m
function encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}


function decode_utf8( s )
{
  return decodeURIComponent( escape( s ) );
}


Ну работает правда только в одну сторону, так как это не совсем перекодировка а преобразование, там в коментах можно увидеть.
Ответить с цитированием
  #24 (permalink)  
Старый 02.09.2011, 13:11
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ещё раз -прочитай коменты под статьей. то что ты делаешь не переводит из кодировки в кодировку,а заменяет символы ,какие нельзя передавать прямо , соответствующими им кодами.
а перекодировка из тогоже 1251 в утф8 сводится к перекодировке на серверной стороне тем же iconv и в последующей замене "непередаваемых " символов их кодами
Ты разницу понимаешь между перекодировкой и преобразованием?
Ответить с цитированием
  #25 (permalink)  
Старый 02.09.2011, 13:19
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Сообщение от dmitriymar Посмотреть сообщение
ещё раз -прочитай коменты под статьей. то что ты делаешь не переводит из кодировки в кодировку,а заменяет символы ,какие нельзя передавать прямо , соответствующими им кодами.
а перекодировка из тогоже 1251 в утф8 сводится к перекодировке на серверной стороне тем же iconv и в последующей замене "непередаваемых " символов их кодами
Я читал комменты, и прекрасно понимаю что делают эти функции. Да если капнуть глубже то можно увидить что это не перекодировка, я просто обозначил это таким образом для простоты, не надо придираться, однако нужный эффект они дают - текст который не отображается нормально в UTF-8 после такого преобразования отображается корректно.
Ответить с цитированием
  #26 (permalink)  
Старый 02.09.2011, 13:21
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Ещё раз
какое это имеет отношение к перекодированию из утф8 в 1251 или любой другой пары кодировок?

Сообщение от kadabrik
Я читал комменты, и прекрасно понимаю что делают эти функции. Да если капнуть глубже то можно увидить что это не перекодировка, я просто обозначил это таким образом для простоты, не надо придираться, однако нужный эффект они дают - текст который не отображается нормально в UTF-8 после такого преобразования отображается корректно.
Да не понимаешь ты.....Эффект функции сводится к обратному преобразованию предварительно преобразованных данных .ключевые слова-предварительно преобразованных и обратному.Но это не имеет никакого отношения к изменению кодировки.Весь фокус в том чтоб предать с сервера данные в правильной кодировке чтоб их можно было открыть на сайте с указанной кодировкой.

Последний раз редактировалось dmitriymar, 02.09.2011 в 13:41.
Ответить с цитированием
  #27 (permalink)  
Старый 03.09.2011, 01:51
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

А что мешает реализовать на JS функцию, которая будет делать именно перекодировку?.. В самом деле, берём и перекодируем, надо только знать кодовую страницу и забить её в скрипт ручками
Ответить с цитированием
  #28 (permalink)  
Старый 03.09.2011, 07:49
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от popov654
А что мешает реализовать на JS функцию, которая будет делать именно перекодировку?
В JavaScript уже приходит раскодированная строка, а не байты, раскодировкой занимается браузер. Если браузер не угадал кодировку, в JavaScript придут знаки вопроса.
Ответить с цитированием
  #29 (permalink)  
Старый 03.09.2011, 12:52
Аспирант
Отправить личное сообщение для Sergey_New Посмотреть профиль Найти все сообщения от Sergey_New
 
Регистрация: 21.07.2009
Сообщений: 71

Резюме:
чтение кириллицы из текстового файла на сервере в кодировке windows-1251 средсвами только Js браузером IE невозможно (исключение - iframe).
Так?
Ответить с цитированием
  #30 (permalink)  
Старый 03.09.2011, 15:20
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Сообщение от dmitriymar Посмотреть сообщение
Ещё раз
какое это имеет отношение к перекодированию из утф8 в 1251 или любой другой пары кодировок?
Да не понимаешь ты.....Эффект функции сводится к обратному преобразованию предварительно преобразованных данных .ключевые слова-предварительно преобразованных и обратному.Но это не имеет никакого отношения к изменению кодировки.Весь фокус в том чтоб предать с сервера данные в правильной кодировке чтоб их можно было открыть на сайте с указанной кодировкой.
Откопал проект где я это делал, действительно текст приходил не в чистом виде, т.к. php'шный json_encode его предварительно преобразовал. Каюсь
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно достать файл из <input type="file"/> преобразовать файл в base 64 maxcab Events/DOM/Window 2 28.06.2011 22:52
Запись данных в текстовый файл Bandicoot AJAX и COMET 7 09.02.2011 15:49
не прикрепляется файл .js 4aineg Элементы интерфейса 10 22.03.2010 20:29
Как прочитать файл? SunYang Общие вопросы Javascript 7 01.02.2010 11:13
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41