2010-08-09 6 views
2

i essayer ce code dans SQL Server 2005encodage hébreu dans SQL Server2005

declare @userName nvarchar(50) 
set @userName='איש2'  
print @userName 

mais je reçois ce

???2 

quelle est la cause?

il ressemble à remplacer le caractère hébreu par "?"

10x

+0

FWIW je reçois le même en studio de gestion SQL 2008 et la même chose dans la vue tableau si j'insère la chaîne dans une table. Donc ça se perd quelque part, et ce n'est pas évident pour moi si c'est la lecture ou l'impression. – Rup

+0

Encore plus de points de données: si j'entre cette chaîne dans un champ de mon application, elle enregistre correctement. Si je vois la table dans le studio de gestion alors la vue de table me montre les caractères hébraïques mais ils sont en arrière. Si je sélectionne la valeur dans un nvarchar dans la console et l'imprime, il imprime dans la fenêtre de message correctement. Donc je suppose que le problème est la console qui lit la chaîne? – Rup

+0

Il n'y a rien de mal à votre requête. Je l'ai essayé dans mon studio de gestion Microsoft SQL (2008) et cela fonctionne ... cela doit être quelque chose dans vos paramètres ... mais je ne sais pas quoi. – Asaf

Répondre

8

Utilisez le préfixe N de sorte que la chaîne est interprétée littérale comme unicode pas carboniser sous la page de code de ce que votre classement par défaut de la base de données est

declare @userName nvarchar(50) 
set @userName=N'איש2'  
print @userName