webForumDet fria alternativet

Recordset sort med å, ä och ö

ASP

7 svar · 932 visningar · startad av zino

Medlem sedan jan. 200247 inlägg
Frågan#1

Hej! Jag behöver ett recordset med en array för att sortera innehållet i boksravsordning. Tyvärr sorteras å, ä och ö felaktigt. De sorteras som a och o istället.

Jag använder ingen databas utan innehållet hämtas ifrån en xml fil.
Här följer ett testexempel där sorteringen inte fungerar.


<% session.lcid=1053 %>

<%
' set Const for recordset
Const adVarChar = 200
Const adInteger = 3
Const adDate = 7

' create a recordset to store the information in
set rs = Server.CreateObject("ADODB.RecordSet")

rs.Fields.Append "filename", adVarChar, 255
rs.Open

' Redim the array with the new number of items
Redim PRESERVE myArray(1,0)
' add the information to the recordset
rs.AddNew
rs.Fields("filename").Value = "Anka"
rs.Update

Redim PRESERVE myArray(1,0)
rs.AddNew
rs.Fields("filename").Value = "Ranka"
rs.Update

Redim PRESERVE myArray(1,0)
rs.AddNew
rs.Fields("filename").Value = "Planka"
rs.Update

Redim PRESERVE myArray(1,0)
rs.AddNew
rs.Fields("filename").Value = "Ånka"
rs.Update

Redim PRESERVE myArray(1,0)
rs.AddNew
rs.Fields("filename").Value = "Önka"
rs.Update

rs.Sort = "filename ASC"

do while not rs.EOF
%>

<% = rs("filename") %><BR>

<%
rs.MoveNext
loop
rs.Close
set rs = Nothing
%>

Finns det inget enkelt sätt att fixa detta i koden direkt? Alla sökningar jag gjort hänvisar till att ändra databas eller server collationen, men då jag inte använder en databas, är det servern som gäller då?

Undrar om någon vet något enklare sätt? :l

Medlem sedan dec. 2009872 inlägg
#2

Vad tror du om vanlig SQL i stället...??

SELECT intID, strFilename, strName FROM [news] WHERE strTitle = 'Kalaskalkon' ORDER BY strName;

Ja... eller nåt åt det hållet...?
Svenska tecken fungerar med SQL i klassisk ASP.

Medlem sedan jan. 200247 inlägg
#3

civilpolisen skrev:

Vad tror du om vanlig SQL i stället...??

SELECT intID, strFilename, strName FROM [news] WHERE strTitle = 'Kalaskalkon' ORDER BY strName;

Ja... eller nåt åt det hållet...?
Svenska tecken fungerar med SQL i klassisk ASP.

Tackar för snabbt svar. :) Undrar bara om man kan hämta in info från en xml fil med hjälp av SQL? Trodde bara det användes med en databaskoppling, men jag är säkert fel ute. ;)

Och hur skulle jag i så fall inkludera sql-satsen i den kod jag skickade med i min ursprungliga fråga?

Förbryllad. :q

Medlem sedan sep. 2006867 inlägg
#4

Det verkar som att för att Sort ska göra rätt måste du klämma in detta innan du gör rs.Open:

rs.CursorLocation = adUseClient

Värt att testa?

Medlem sedan jan. 200247 inlägg
#5

headbug skrev:

Det verkar som att för att Sort ska göra rätt måste du klämma in detta innan du gör rs.Open:

rs.CursorLocation = adUseClient

Värt att testa?

Jag får följande felmeddelande när jag testar med ditt förslag:

"Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another."

Fick du det att fungera?

Medlem sedan sep. 2006867 inlägg
#6

Hej, ber om ursäkt, testade inte ens och det verkar gälla när man öppnar mot en databas.

Däremot - så sorterar den finfint utan att jag behöver ändra något i koden. Alls.

Har testat att flytta om ordningen på sakerna som läggs in, men den gör rätt varje gång.

win7-x64 / IIS7

Medlem sedan jan. 200247 inlägg
#7

headbug skrev:

Hej, ber om ursäkt, testade inte ens och det verkar gälla när man öppnar mot en databas.

Däremot - så sorterar den finfint utan att jag behöver ändra något i koden. Alls.

Har testat att flytta om ordningen på sakerna som läggs in, men den gör rätt varje gång.

win7-x64 / IIS7

Tack för hjälpen. Det verkar dock inte hjälpa mig då jag inte använder någon databas utan hämtar in alla värden ifrån en xml-fil. I mitt test-exempel ovan så använder jag ju inte ens det utan bara hårdkodar in värdena. Resultatet är dock det samma att å, ä och ö inte sorteras rätt. :(

Medlem sedan jan. 200247 inlägg
#8

Lösningen låg på servern

Har hittat lösningen! :) Koden fungerar som den är i mitt originalmeddelande. Tyvärr så hade jag missat ett ställe i språkinställningen på servern. Det finns två ställen under Språkinställningar på servern som måste sättas till Svenska på båda ställena. Efter att detta gjorts fungerar koden som den ska.

Tack för all hjälp i alla fall. :) Lite genant att jag inte upptäckte detta när jag kollade detta första gången. :r

547 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
416 ms — ändringar (db)