|
из кириллицы в escape-последовательность | ☑ | ||
---|---|---|---|---|
0
ivant
18.11.11
✎
19:24
|
Приветствую.
Конечно, понимаю, что время неподходящее, но все же рискну. Есть ли простой способ конвертации кириллический символов в escape-последовательность. Требуется отправлять JSON запрос, а он только escape понимает. |
|||
1
andrewks
18.11.11
✎
19:28
|
jscript + escape()
|
|||
2
ivant
18.11.11
✎
19:36
|
(1) так?
//******************************************* Процедура Сформировать() Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl"); Скрипт.language="jscript"; Стр="Москва"; Стрим=СоздатьОбъект("adodb.stream"); Стрим.type=2; Стрим.charset="windows-1251"; Стрим.open(); Стрим.writetext(Стр); Стрим.position=0; Стрим.charset="iso-8859-15"; Скрипт.AddObject("Стрим",Стрим); Предупреждение(Скрипт.Eval("escape(Стрим.readtext())")); КонецПроцедуры |
|||
3
andrewks
18.11.11
✎
19:37
|
(2) :) если сам всё знаешь, зачем тогда спрашиваешь?
|
|||
4
ivant
18.11.11
✎
19:53
|
(3) понтуюсь)
а если серьезно, то нашел "внезапно". только вот теперь незадача - он мне вместо \u043f\u0440\u0438\u0432\u0435\u0442 отдает %CF%F0%E8%E2%E5%F2%21 в чем подвох? |
|||
5
ivant
18.11.11
✎
19:57
|
(4) поменял кодировку на utf-8
стало лучше %u041F%u0440%u0438%u0432%u0435%u0442%21 Осталось только обратный слэш получить. но это можно и СтрЗаменить, если чо |
|||
6
Asmody
18.11.11
✎
19:58
|
(2) текст в Unicode ему подсунь, а не в 1251
|
|||
7
andrewks
18.11.11
✎
20:01
|
(6)+1
|
|||
8
andrewks
18.11.11
✎
20:04
|
посмотри ещё:
encodeURI() encodeURIComponent() |
|||
9
ivant
18.11.11
✎
20:27
|
ну вот, все заработало с помощью СтрЗаменить.
Только вот со знаками препинания беда - они тоже конвертируются, но на стороне сервера не обрабатываются корректно. |
|||
10
ivant
18.11.11
✎
20:29
|
Для восьмерки скрипт выглядит так:
ТекстСообщения = "Привет"; Скрипт=Новый COMОбъект("MSScriptControl.ScriptControl"); Скрипт.language="jscript"; Стрим=Новый COMОбъект("adodb.stream"); Стрим.type=2; Стрим.charset="Unicode"; Стрим.open(); Стрим.writetext(ТекстСообщения); Стрим.position=0; Стрим.charset="Unicode"; Скрипт.AddObject("Стрим",Стрим); ТекстСообщения = Скрипт.Eval("escape(Стрим.readtext())"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |