2013-09-09 4 views
1

Когда я выполняю свою процедуру, я получаю символ ?????????? вместо символа иврита.Получить "????????" from Sql Server

Код в процедуре:

CREATE TABLE #myTempTable 
(
    [ya_id] [int], 
    [ya_title] [varchar](200) NULL, 
    RowNumber [int] 
) 

set @sql ='insert INTO #myTempTable 
    select [ya_id], 
    [ya_title], 
    ROW_NUMBER() OVER (ORDER BY ya_date desc) 
FROM y_ads join ezorim on e_id=ya_e_id join y_cat on ya_yc_id=yc_id' 
exec(@sql) 


/*Ads*/ 
SELECT [ya_id], 
    [ya_title], 
from #myTempTable 
where RowNumber BETWEEN 1 AND 24 

Кодирование сервера SQL: SQL_Latin1_General_CP1_CI_AS

P.S. другие динамические таблицы из процедуры возвращают правильный символ, только эта динамическая таблица возвращает ??????????.

ответ

5

Вы должны использовать NVARCHAR, который может содержать символы Юникода.

+0

столбец nvarcher, так что это не ответ –

+1

столбец temp table нет. – HLGEM

+0

@HLGEM, то есть, спасибо –