Проблема с кодировкой

  • Автор темы Автор темы JohnLemon
  • Дата начала Дата начала
  • Теги Теги
    json
J

JohnLemon

Всем здравствуйте, может кто подскажет. Проблема в следующем: если сохраняю в документ с использованием метода toJson Java коверкает кодировку. Например сохраняю так
JavaScript:
jsonArray.push(toJson(viewScope.secondResultVariants[b]));
idoc.replaceItemValue("secondResultVariants", jsonArray);
В базе сохраняется что то в роде такого:
"{"id":"C41B4BD5C70D20E446257EFA002C80F0","name":"\u0431\u0435\u043B\u043E\u043A (Tp 47)"}"
"{"id":"299F3B552DA79C2146257EFA002D5804","name":"\u0431\u0435\u043B\u043E\u043A (TmpA 45)"}"
Можно ли как то указать кодировку "на лету"
 
"обычно" энкодят национальные кодировки...
хорошей практикой является использование UTF8
скорее всего "портит" кодировку не java, а тот кто вин1251 использует ;)
 
  • Нравится
Реакции: JohnLemon
для работы с json
 
  • Нравится
Реакции: JohnLemon
скорее всего "портит" кодировку не java, а тот кто вин1251 использует
:banghead:
Да тут мой косяк, можно как то безболезненно поставить utf-8, в базе просто уже есть данные... И где выставить кодировку?
 
безболезненно поставить utf-8, в базе
в базе её "нет" (кодировки) там
а вот какая кодировка на странице (кот. с сервера попадает в браузер) - это достаточно "критично"
[DOUBLEPOST=1447774637,1447774451][/DOUBLEPOST]если константы стринговые - в какой кодировке JS - тоже может оказаться значимым
 
  • Нравится
Реакции: JohnLemon
а как мне можно перекодировать то теперь ) ? может есть методы какие нибудь на js ?
 
и вообще как я понимаю \u0431 это java sourсe code какой то....
 
а как мне можно перекодировать то теперь ) ?
и вообще как я понимаю \u0431 это java sourсe code какой то....
это юникодовый символ
как перекодировать - брать и заменять ;)
 
  • Нравится
Реакции: JohnLemon
Два раза кодировать, перед записью в базу и потом при выборе значения из нее как то не очень хорошо по моему. Кстати страницы у меня в utf-8 в роде.
<?xml version="1.0" encoding="UTF-8"?>
 
И вообще че за фигня на форуме с репутацией, я выбираю поставить 3 он -1 ставит капец, его сделают когда нибудь нормальным, авториация постоянно вообще выскакивает невозможно нормально общаться ).
 
Два раза кодировать, перед записью в базу и потом при выборе значения из нее как то не очень хорошо по моему. Кстати страницы у меня в utf-8 в роде.
откуда берется этот
viewScope.secondResultVariants
[DOUBLEPOST=1447842709,1447842452][/DOUBLEPOST]и второе - у JS есть методы преобразования в строку и обратно, для JSON ...

то что происходит у вас - я мало понимаю
 
  • Нравится
Реакции: JohnLemon
viewScope.secondResultVariants
Юзер выбирает различные значения, в viewScope.secondResultVariants создается массив объектов JSON я его хочу преобразовать в строку и записать в поле в документе а при загрузки дока преобразовать в объект и отобразить на странице в репитах. Но toJson мне портит всю кодировку и fromJson тоже.
Тут клиентский код мне он не очень подходит (
JSON.parse — читает объекты из строки в формате JSON.
JSON.stringify — превращает объекты в строку в формате JSON, используется, когда нужно из JavaScript передать данные по сети.
Этих методов нету как я понимаю в ssjs
 
С какого боку он вообще при таком раскладе:
JavaScript:
string = '{name:\u041F\u0440\u0438\u0432\u0435\u0442}';
_dump(string)
Мне выводит в консоль:
[DOUBLEPOST=1447847771,1447847590][/DOUBLEPOST]а так:
JavaScript:
var json = {name:'Привет'};  
var string;
string = toJson(json);
_dump(string)
выводит
{name:\u041F\u0440\u0438\u0432\u0435\u0442}
 
Но toJson мне портит всю кодировку и fromJson тоже.
- ну и наплюй на джейсон:
1 джойнь данные разделителями
2 сохраняй эту строку в базу.
--------------------
3 читай эту строку из базы.
4 сплить её по твоему разделителю и отдавай на растерзание репитеру.

преобразовать в объект и отобразить на странице в репитах

- объект ?? Репитер принимает массив. Любой.
 
  • Нравится
Реакции: JohnLemon
- объект ?? Репитер принимает массив. Любой.
У меня репитер отображает массив объектов.
1 джойнь данные разделителями
2 сохраняй эту строку в базу.
--------------------
3 читай эту строку из базы.
4 сплить её по твоему разделителю и отдавай на растерзание репитеру.
Наверное так и придется но как то это не по современному же будет и уныло.... Нафик делать тогда fromJson и toJson если он так коверкает
 
Нафик делать тогда fromJson и toJson если он так коверкает
ну вот и у меня такой вопрос
[DOUBLEPOST=1447851440,1447851412][/DOUBLEPOST]он не коверкает, а делает "универсальным", а вот анэскейпить тогда нужно
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!