evilaidMedlem sedan apr. 2009433 inlägg Börja bli många sköna timmar nu bara få igång en autocomplete funktion :) (knappt bitter)
Min callback fil skickar ibland å ä ö. Detta gör att när å ä eller ö ska visas i autocomplete listan så blir det en fyrkant istället.. Det gick ju att lösa med HtmlEncode() (asp används).. Problemet blir nu istället att det valet man gör i autocomplete listan istället får asci värden för respektive bokstav (alltså å ä ö) i själva input boxen..
Så: I själva drop down menyn visas åäö rätt men i inputboxen får man istället asci värdet?
Tänker jag fel eller varför blir det inte riktigt i den boxen?
Jag använder följande funktion
http://www.devbridge.com/projects/autocomplete/jquery/
Någon som är med på vad jag menar?
Vet inte om det är så mycket mer man kan ändra eller??
Har du sparat din ASP sida som UTF-8 eller vad du nu kör for doctype på båda sidorna? Eller missförstå jag dig? testade att få å ä ö tillbaka på http://voigt.se/sandbox/wf/evilaid/auto/
evilaidMedlem sedan apr. 2009433 inlägg Alltså, jag är inte med riktigt, om jag sparat asp sidan som Utf-8?
Handlar det inte om vad den spottar ur sig för tecken?
response.CacheControl= false
SQL = "SELECT * FROM tabellWHERE art_nr LIKE '%"& request.querystring("query")&"%'"
Set db = Connect.execute(SQL)
do until db.eof
if sug ="" then
sug = sug + """"&server.HTMLEncode(db("art_nr"))&""""
data = data + """"&server.HTMLEncode(db("id"))&""""
else
sug = sug + ","""&server.HTMLEncode(db("art_nr"))&""""
data = data + ","""&server.HTMLEncode(db("id"))&""""
end if
db.movenext
loop
response.write "{ ""query"":"""&request.QueryString("query")&""", ""suggestions"":["& sug&"], ""data"":["&data&"]}"
När jag använder HTMLencode så gör väll åäö om till asci kodningen istället? Men autocompletelistan visar ju rätt men när man väljar ett val så skrivs ju asci koden ut i input boxen?
På html sidan använder jag
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Skriptet ta strängar, inte html encoded, varför vill du ha det i ett input fält?
UTF-8: Spara ditt dokument (notepad++ Convert to)
Response.CodePage = 65001
Response.CharSet = "UTF-8"
i din response. Ser absolut inte någon anledning att använda dig av HTMLEncode... om nu inte du kör HTML i din art_nr & id
Response.CodePage = 65001
Response.CharSet = "UTF-8"
Response.CacheControl = false
SQL = "SELECT * FROM tabellWHERE art_nr LIKE '%" & request.querystring("query") & "%'"
Set db = Connect.execute(SQL)
Do Until db.EOF
sug = sug & """" & db("art_nr") & ""","
data = data & """" & db("id") & ""","
db.MoveNext
Loop
response.write "{ ""query"":"""&request.QueryString("query")&""", ""suggestions"":["& Left(sug, Len(sug) - 1) &"], ""data"":["&Left(data, Len(data) -1) &"]}"
evilaidMedlem sedan apr. 2009433 inlägg Jag var nog lite oklar där..
Jag har ju mitt input fält
<input type="text" name="q" id="query">
när jag börjar skriva så visas det oket i autocomplete listan som dyker upp med förslagen. Men när jag sedan trycker enter för att välja ett alternativ i listan så det värde jag får i input boxen blir G1SPANSFÄSTE istället för G1SPANSFÄSTE..
Samma är att jag får inga förslag om jag börjar skriva något som innehåller åäö, då hittar den inget. känns som att den inte skickar åäö till callbackfilen heller?
Prövade ditt exempel, men får fortfarande asci tecken istället för åäö??
Kan ju bli knäpp på det här! :moose
evilaidMedlem sedan apr. 2009433 inlägg GLÖM allt jag skrev nu.. Verkar som den där jävla webbläsare chachar filerna, var tvungen att stänga webbläsare för att den inte skulle köra en gammal version av asp filen...
Men jag fattar inte riktigt:
kan du snabbt bara klargöra vad som hänt, nu kör jag på ditt exempel på asp sidan med codepage och utf och på html sidan har jag <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />...
Borde det ens funka ihop. borde inte html sidan tolka utf tecknen fel?
Vad ska man igentligen använda, Ska jag alltid köra med UTF-8 och inte använda iso-8859-1? Hur ser man enklast vilken teckenkodning en fil är sparad i, sitter med MS visual studio och man kan ju alltid välja kodning när man spara..
Alltid UTF-8, aldrig ISO-8859-1. Följer du det så får du aldrig problem.
evilaidMedlem sedan apr. 2009433 inlägg Jo jag läste lite om det på nätet och bestämde mig för att köra med Utf-8, som det är nu har jag ISO-8859-1 på alla sidor. Dock fick jag problem direkt på första sidan där jag ändrade till uft-8. Denna sida hämtar viss informatione fråne en databas och fyller i vissa inputfält. Problemet var bara det att åäö bliv skitkonstiga, just dom som skrevs ut i input fälten?
Så jag bytte tillbaka :) Så bra gick det.. Men vad är det som gör att det blir så då?
@ndersMedlem sedan juni 200032 969 inlägg Datat är väl inte sparat i UTF-8?
l-boyMedlem sedan juli 2003221 inlägg
Function convert(byVal s)
Dim oIn: Set oIn = CreateObject("ADODB.Stream")
oIn.Open
oIn.CharSet = "WIndows-1252"
oIn.WriteText s
oIn.Position = 0
oIn.CharSet = "UTF-8"
convert = oIn.ReadText
oIn.Close
End Function
Response.Charset = "ISO-8859-1"
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
sql = "SELECT * FROM table WHERE name LIKE '%" & convert(request("query")) & "%'
Funkar fint här med sidor/databas i ISO 8859-1, jQuery och en autocomplete-funktion.