Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.07.2013, 22:05
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Изменить кодировку строки
От гугла приходит ответ на мой http запрос, этот ответ типа string и содержит русские буквы, но они выводятся вопросиками. Как их в utf-8 перекодировать? <meta charser='utf8'> есть
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2013, 22:34
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

А при попытке сохранить ответ в файл, там вместо русских букв лишь "эээээ". Забавно, но всё же надеюсь на вашу помощь.
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2013, 22:34
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Romaboy,
1. Инет страница с образцом - есть ?
2. Какую кодировку получаете от гугла ?
3. Гугл отдает через Ваш сервер или через своё АPI сразу на клиента ?
или... ?
поскольку странно - ибо гугл обычно в UTF8 и отдаёт
Ответить с цитированием
  #4 (permalink)  
Старый 27.07.2013, 22:52
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

var options = {
  host: 'translate.google.ru',
  path: '/translate_a/t?client=x&text=koko&sl=en&tl=ru
};

callback = function(response) {
  var str = '';
  response.on('data', function (chunk) { // Сдесь в chunk принимается ответ в непонятной кодировке
    str += chunk;
  });
  response.on('end', function () {
    alert(str)
  });
}

http.request(options, callback).end();

Знаю, что для node есть раздел, но я думал можно стандартным js перекодировать. Гугл отдаёт через http запрос. Понятия не имею, какая кодировка у вопросиков.
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2013, 22:54
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Нет, транслейт тут ни при чем: если браузер эту ссылку откроет, то сохранится файл с корректными буквами, нужно с нодом разбираться.
Ответить с цитированием
  #6 (permalink)  
Старый 27.07.2013, 22:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Romaboy,
я думаю текущая страница с http.request(options, callback) не в UTF8

Проще в чистом фрейме создать новый документ с нужной кодировкой и запрос сделать там и вернуть на top.document
Ответить с цитированием
  #7 (permalink)  
Старый 27.07.2013, 23:13
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Как у текущей страницы кодировку изменить? Зачем новые документы создавать, нельзя существующий перекодировать?
Ответить с цитированием
  #8 (permalink)  
Старый 27.07.2013, 23:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Romaboy,
к вам приходит обьект а вы его как текст читаите
Ответить с цитированием
  #9 (permalink)  
Старый 27.07.2013, 23:30
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Действительно, чанк это buffer.
str = chunk.toString('utf8', 0, chunk.length)

Перевожу буффер в строку с кодировкой utf8 - всё равно вопросики, что же делать?
Ответить с цитированием
  #10 (permalink)  
Старый 27.07.2013, 23:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Romaboy,
var obj = {"sentences":[{"trans":"Коко","orig":"koko","translit":"Koko","src_translit":""}],"src":"en","server_time":26}; //это вы получаите
var text = '{"sentences":[{"trans":"РљРѕРєРѕ","orig":"koko","translit":"Koko","src_translit":""}],"src":"en","server_time":26}'
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск скрипта с адресной строки olga153b Events/DOM/Window 3 24.09.2012 11:34
как вставить строки в таблицу? Yurik Events/DOM/Window 2 29.02.2012 17:14
Узнать номер строки таблицы по клику antserg jQuery 4 13.11.2011 13:46
Изменить кодировку в iframe Sergey_New Общие вопросы Javascript 4 26.08.2011 12:38
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31