2010-10-02 2 views
0

J'ai parcouru ma base de données et mon code jusqu'à présent, j'ai rencontré un problème. Pour un enrty particulier dans ma DB je prends des descriptions et des étiquettes (les deux sont des chaînes) pour la langue japonaise. Maintenant, dans une page ASP.NET, la description est bien affichée mais les balises qui sont aussi japonaises sont remplacées par? marques, qu'est-ce que je fais mal ici? La même page affiche la description bien mais dans un <div>, les étiquettes sont remplacées par? des notes. Le code est le suivantAffichage d'un texte Unicode sur la page ASP.NET

string[] tags = (Html.Encode(Item.Tags)).Split(new Char[] {',','.'}); 

dans une boucle sur les balises i ont

<% Html.Encode(tags)%> // This is not fine! 

Alors que pour la description que j'ai

<% Html.Encode(Item.Description)%> // This is fine! 
+0

Que voulez-vous dire par les étiquettes? Pouvez-vous donner un exemple? Les balises –

+0

signifient chaîne de texte, peuvent être des mots anglais ou japonais ou toute autre langue. par exemple. tags: "tokyo", "ラ ド ク リ フ" –

+0

Quels encodages utilisez-vous? Utilisez-vous NVARCHAR pour stocker correctement Unicode, en supposant que vous utilisez SQL Server? Desservez-vous la page Web en tant que UTF-8? – bobince

Répondre

0

Il s'est avéré être un problème dans la procédure stockée. la variable stockant les chaînes et les renvoyant à ASP.NET devait être un nvarchar et était plutôt un varchar. Correction de mon problème dans ASP.NET finalement.

0

Êtes-vous les encodage deux fois? Html.Encode(Item.Tags) puis Html.Encode(tags)

+0

Ok, j'ai supprimé le deuxième Html.encode (tags). Ne fonctionne toujours pas –

+0

La description et les balises sont-elles stockées de la même manière dans la base de données (même type de données)? – CyberDude

+0

Ouais, je viens de vérifier à nouveau après avoir lu votre question. Ils apparaissent bien comme texte japonais. –

Questions connexes