2010-08-16 4 views
4

J'essaie d'internationaliser les questions dans notre sondage-outil, mais quand j'insérer des chaînes traduites, SQL-server semble dépouiller de certains, mais pas tous, diacritiques ...caractères étrangers perdent leurs diacritiques

Exemple: (lituanien)

Ar jūsų darbas reikalauja, kad jūs įgytumėte naujų žinių ir įgūdžių? 

devient

Ar jusu darbas reikalauja, kad jus igytumete nauju žiniu ir igudžiu? 

Indication du 'z' a conservé son signe diacritique, tandis que le 'U', 'i' et 'e' a perdu leur. La colonne de table qui conserve le texte est nvarchar, mais le classement de la table est 'Danish_Norwegian_CI_AS'.

Des suggestions?

EDIT 2010.08.16 11h17:

Ok. J'aurais pu rétrécir quelque chose. Il semble que la procédure stockée que j'utilise pour extraire la phrase de la base de données est celle qui exécute la suppression. Il sélectionne à partir de plusieurs sources, qui sont toutes nvarchar en utilisant un UNION pour tout obtenir dans la même requête. Quelque part, les personnages sont dépouillés.

... Attends ... Je pense que je pourrais avoir fracked quelque chose le long du chemin ...

+2

Comment insérez-vous les caractères? Est-il possible que ses caractères de décapage ne figurent pas dans votre codepage non-Unicode actuel? J'ai appris la semaine dernière que si vous utilisez des chaînes dans le studio de gestion, vous devez préfixer les constantes de chaînes avec N, c'est-à-dire 'N'Ar jūsų'', pour signifier unicode. – Rup

+0

Qu'entendez-vous par "semble", c'est à dire ce que vous voyez l'affichage dans SQL Server Mgmt Studio ou la chaîne récupérée par l'intermédiaire d'une requête? – chryss

+0

"semble" = les deux ... la façon dont je le vois dans les SMS et dans l'application. Cependant, le "N" avant la chaîne a résolu le problème SMS. Maintenant, j'ai juste besoin d'obtenir mon application (ASP 3.0) pour afficher les chaînes correctement –

Répondre

0

Les paramètres de classement ne seront pas affecter les données stockées dans des colonnes de type UTF-8. Je changerais la page de codes et l'encodage de votre fichier en UTF-8, et m'assurerais que votre table stocke le texte comme UTF-8, et vous devriez tous être ensemble.

+0

SQL SMS renvoie désormais les valeurs correctes, mais ASP 3.0 et ASP.NET 3.5 renvoie la chaîne sans les signes diacritiques "plus exotiques". J'ai vérifié mes paramètres et toutes les pages sont sauvegardées en UTF-8. Les en-têtes de réponse signalent également le type de contenu correct ... –

+0

Points à examiner: 1) Quel est l'en-tête de votre type de contexte et 2.) Vos pages sont-elles enregistrées en codage UTF-8? De Firefox, cliquez avec le bouton droit de la souris et consultez Afficher les informations de la page pour obtenir cette information ... – NinjaCat

+0

Content-Type: text/html; charset = utf-8 La page est enregistrée en tant que UTF-8 selon Visual Studio. Toujours pas de chance. Maintenant, j'ai même codé les plus difficiles. La chaîne source dit maintenant: Ar j ū s ų darbas reikalauja , kad j ū s į gytum ė te nauj ų ž ini ų ir į g ū d ž i ų ? Et je sais que celui-ci est correcte parce que si je créer un fichier HTML normal avec ce contenu la phrase est affichée correctement ... –

Questions connexes