Цитата:
можно
все как обычно, не так-то просто получить, то что хочешь.
есть скрипт на lua
[+] "..\FreeSWITCH\scripts\script1.lua" Код:
local Tel = argv[1]
local dbh = freeswitch.Dbh("odbc://data1:sa:my_pass")
local function set_session_variables(row)
for key, val in pairs(row) do
if session then
session:setVariable(key, val)
end
freeswitch.consoleLog("CONSOLE", string.format("set(%s=%s)\n", key, val))
end
end
assert(dbh:connected())
local sql_query = "SELECT Name AS effective_caller_id_name FROM AA_Tel WHERE Tel = " .. Tel
assert(dbh:query(sql_query, set_session_variables))
диалплан
[+] "..\FreeSWITCH\conf\dialplan\public.xml" Код:
<extension name="AON" continue="true">
<condition field="caller_id_number" expression="^(\d+)$">
<action inline="true" application="lua" data="script1.lua $1"/>
<action application="log" data="CONSOLE effective_caller_id_name raven [${effective_caller_id_name}]"/>
</condition>
</extension>
при прохождении звонка через extension name="AON", в консоль и на телефон выводятся кракозябры
Код:
2014-07-28 12:57:15.117124 [CONSOLE] mod_dptools.c:1602 effective_caller_id_name
raven [╥Ёю°шэ ╤.]
Если в в БД забить слова на инглише, то все нормально выводится. Тип данных - nchar.
Сайт мелкософта говорит:
Цитата:
Для хранения данных в Юникоде SQL Server предоставляет типы данных nchar и nvarchar. Эти типы данных кодируют текст в формате UTF-16.
Куда копать?
может есть средства Lua для декодирования?
или проблема в mssql?