webForumDet fria alternativet

utf-8 i asp-fil

23 svar · 1 399 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

hej!

Hur får jag IIS att sätta HTTP headern

Content-Type: text/html; charset=utf-8

Vad ska jag skriva i asp-filen så det inte blir en massa konstiga tecken?

Mvh
Henrik

devotionMedlem sedan jan. 20013 582 inlägg
#2

Jag provade med:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Response.CodePage = 65001
Response.Charset = "utf-8"
%>

och det verkar funka... Är det rätt?

Mvh
Henrik

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

Har du sparat filen som UTF-8?

devotionMedlem sedan jan. 20013 582 inlägg
#4

hur sparar man en asp-fil som utf-8?

//Henrik

MickeA.comMedlem sedan feb. 20034 441 inlägg
#5

Öppna i notepad (eller annan textedior), File => Save As => Encoding => Utf-8

devotionMedlem sedan jan. 20013 582 inlägg
#6

Jaha.. okej.. :)

I så fall är det sparat i utf-8

emissionMedlem sedan dec. 19996 721 inlägg
#7

devotion skrev:

Jag provade med:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Response.CodePage = 65001
Response.Charset = "utf-8"
%>

och det verkar funka... Är det rätt?

Mvh
Henrik

Japp. Om du ska skriva in statisk text på sidan, direkt i ASP-filen, så bör den sparas som UTF-8. Annars spelar det ingen roll (t.ex. om all text kommer från databasen)

MickeA.comMedlem sedan feb. 20034 441 inlägg
#8

Jag testade en sak ikväll, ett enkelt script med utf-8 som hämtar text från MS SQL SERVER.
Datatypen är "ntext" och sidan / headern är UTF-8.

Det funkar med å, ä, ö, ü osv. men när vi testade att mata in ryska tecken blev det bara frågetecken (?).
På databasen är "Collation name" Finnish_Swedish_CI_AS, spelar det nån roll?
Leta efter nån UTF-8 eller Unicode typ, men hittar ingen.

Förslag?

devotionMedlem sedan jan. 20013 582 inlägg
#9

emission skrev:

Japp. Om du ska skriva in statisk text på sidan, direkt i ASP-filen, så bör den sparas som UTF-8. Annars spelar det ingen roll (t.ex. om all text kommer från databasen)

Tack för det, det kan ju vara bra att veta! :)

Mvh
Henrik

emissionMedlem sedan dec. 19996 721 inlägg
#10

MickeA.com skrev:

Jag testade en sak ikväll, ett enkelt script med utf-8 som hämtar text från MS SQL SERVER.
Datatypen är "ntext" och sidan / headern är UTF-8.

Det funkar med å, ä, ö, ü osv. men när vi testade att mata in ryska tecken blev det bara frågetecken (?).
På databasen är "Collation name" Finnish_Swedish_CI_AS, spelar det nån roll?
Leta efter nån UTF-8 eller Unicode typ, men hittar ingen.

Förslag?

Collation spelar ingen roll för icke-unicode-data, dock är det viktigt att N-prefixa alla strängar vid insert/update.

Ex.

UPDATE tabellen set kolumnen=[b]N[/b]'vodka och borstj'
MickeA.comMedlem sedan feb. 20034 441 inlägg
#11

Aha, okej, gäller det ALLA kolumner, eller endast dom där man ska spara textvärden?

MickeA.comMedlem sedan feb. 20034 441 inlägg
#12

Ungefär samma sak tas upp i den här tråden:
http://www.webforum.nu/showthread.php?p=1123579#post1123579
På punkt 6 står det:

ntext/nvarchar/nchar -> .. @strVar = N'"& strInputValue &"' ..

Nu vet jag att man måste skriva "N" framför, men vad gör "@" ?

Peter SMedlem sedan dec. 20025 483 inlägg
#13

Det talar väl bara om att strVar är en variabel (i MSSQL). Ungefär som $strVar i PHP.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#14

Peter S skrev:

Det talar väl bara om att strVar är en variabel (i MSSQL). Ungefär som $strVar i PHP.

Jo, det har jag förstått nu efter att ha goolgat lite på saken.
Men hur deklarerar jag variabeln?

På nån sida jag kollade på precis står det att man ska göra det i "Stored Procedures", men på ett annat ställe står det att man kan göra det direkt i SQL-Frågan, så, hur ska jag göra?

Min fråga ser ut såhär:

sSql = "INSERT INTO site_content (@text) VALUES (N'" & the_text & "')"

Tack!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#15

Nu har jag äntligen fått till det och det är provkört på svenska, polska, ryska, spanska, japanska mm. och det ser kanon ut.
Nu till en lite Offtopic fråga.

Hur ska jag göra för att få samma resultat som jag nu i SQL Server, fast med MySQL?
Finns det någon som kört det tidigare och hur ska man göra?

Tack på förhand!

spangoMedlem sedan juni 20008 205 inlägg
#16

I MySQL kan du ange från början att du vill använda Unicode. GIYF!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#17

Jo det vet jag, men är det allt som krävs alltså?
Behöver man "N" -Preffix'et även där?

Har nämligen jätteproblem med Asp, MySQL samt UFT-8 trots att jag tycker att allt är rätt.

spangoMedlem sedan juni 20008 205 inlägg
#18

Nej, det borde inte behövas. Däremot vill du säga att du kör UTF-8 i connectionsträngen och i tabelldefinitionen.

dAEkMedlem sedan feb. 20041 816 inlägg
#19

Det där N-prefixet - när har man nytta av det? Jag gjorde ett litet minitest nyss både med och utan det men jag kunde inte se någon skillnad på resultatet.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#20

dAEk skrev:

Det där N-prefixet - när har man nytta av det? Jag gjorde ett litet minitest nyss både med och utan det men jag kunde inte se någon skillnad på resultatet.

Det gjorde därimot jag...
Kör du Asp / MS SQL 2K / UTF-8..?

När jag provade med / utan så blev resultatet att utan så funkade tex. polska, men inte ryska / japanska.
När jag hade med N-Preffixen, så funkade alla språk jag testade (svenska, polska, ryska, japanska, hebreiska..) helt utan problem.
Därimot så för dom med IE och utan språktillägg så visades japanskan som rutor, men hos mig funkade det klockrent.

Spango:
- Det här med att köra UTF-8 i connectionsträngen, menar du då:

conn.open "Driver....;charset=utf-8"

och med tabelldefinitionen, menar du då att man valt UTF-8 som Collasion när man skapat tabellen?

127 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)