Javascript обработка кириллицы - PullRequest
2 голосов
/ 10 сентября 2010

Когда я получаю фид json с сайта с кириллицей, данные отображаются в формате \ ufffd вместо символов кириллицы.

(пример фида: http://jsonduit.com/v1/f/l/7sg?cb=getJsonP_1284131679846_0)

Так что, когда я установилИсходный HTML-код для ввода, я получаю странные поля вместо символов. Я пытался удалить вход, но это тоже не сработало.

Как мне вернуть канал обратно на кириллицу?

(Кстати, кодировка страницы источника установлена ​​в UTF-8)

Ответы [ 2 ]

3 голосов
/ 08 января 2014

decodeURIComponent ("stringToDecodeToCyrillic")

Пример: decodeURIComponent ("% D0% 90% D0% BB% D0% B5% D0% BA% D1% 81% D0% B5% D0% B9")=== "Алексей"

Самый быстрый способ кодирования букв кириллицы для URL

3 голосов
/ 25 февраля 2011

Кажется, вы получили строку UTF8. Используйте следующий класс для декодирования:

UTF8 = {
    encode: function(s){
        for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
            s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
        );
        return s.join("");
    },
    decode: function(s){
        for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
            ((a = s[i][c](0)) & 0x80) &&
            (s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
            o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
        );
        return s.join("");
    }
};

Использование:

var newString = UTF8.decode( yourString );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...