webForumDet fria alternativet

Problem med vissa tecken, t.ex €

.NET

10 svar · 665 visningar · startad av Jon

Medlem sedan juli 20011 304 inlägg
Frågan#1

När jag matar in till exempel € i en applikation så går det fint så länge jag bara postar runt värdet, det visas ut korrekt. Debuggar jag ser det visserligen ut som en fyrkant i debuggern men det visas som sagt tillbaka korrekt.

Sparar jag däremot ner värdet i databasen så kommer det bara tillbaka som ett frågetecken.

Andra tecken, som t.ex å, ä och ö fungerar klanderfritt.

Jag använder iso-8859-1
Tips?

Medlem sedan okt. 20041 556 inlägg
#2

Använder du iso-8859-1 i databasen också?

Medlem sedan juli 20011 304 inlägg
#3

Osäker på hur man ser det i sql server.

Medlem sedan sep. 20011 914 inlägg
#4

Vilken data typ är kolumnen? nchar, nvarchar eller ntext borde väl fungera.

Medlem sedan juli 20011 304 inlägg
#5

ntext

Medlem sedan juli 20011 304 inlägg
#6

Hmm. testa att köra en htmlencode på € så får ni se vad som händer... Söker nätet utan bra resultat. Det funkar ju i detta forum t.ex hur? :)

Medlem sedan juli 20011 304 inlägg
#7

Verkar inte stödjas av htmlencode - inga större problem, kan ju göa en egen funktion. Om jag bara fick € tillbaka från webbsidan men det får jag inte. får en fyrkant när jag debuggar. hmm igen

Medlem sedan juli 20011 304 inlägg
#8

ok. problemet löst genom att ändra till utf-8 överallt och sen html-encoda.

Medlem sedan dec. 19996 721 inlägg
#9

Ja, ISO-8859-1 kan man inte köra eftersom euro-tecknet inte finns i den teckentabellen. Tänk på att inte köra HtmlEncode på det du stoppar in i databasen, utan bara på det plockar ut.

Medlem sedan juli 20011 304 inlägg
#10

ok. varför? :)

Medlem sedan dec. 19996 721 inlägg
#11

För att det är en bra vana. Man ska inte manipulera den data som man stoppar in i databasen, eftersom

  • Man kan tänkas vilja ha ut den på något annat sätt i framtiden, t.ex. till en XML-fil
  • Stränglängden förändras. Ponera att du vill söka ut alla ord som är 5 bokstäver långa. Lite jobbigt om det finns ord som "Bäver" i databasen
  • Sökning blir problematisk, eftersom t.ex. en LIKE sökning efter "oum" (dåligt exempel, jag vet) kommer att hitta de ord som från början innehöll "ö". Tecken som kodats om till numeriska koder är ännu värre.
263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)