Avatar billede milandt Nybegynder
16. marts 2005 - 10:25 Der er 17 kommentarer og
1 løsning

søg på exp.dk æ og ø og å

Hej alle,

Jeg har en søgeboks på en intranetside, der skal søge på exp.dk. Det fungerer som det er nu, men når jeg søger på noget med et æ, ø eller å bliver disse lavet om til henholdsvis %E6, %F8 og %E5.

Selve søgningen virker fint, men i søgeboksen vises det som ovenstående. Jeg har prøvet følgende:

strExpSearch = strExpSearch.replace('æ','%E6');
strExpSearch = strExpSearch.replace('ø','%F8');
strExpSearch = strExpSearch.replace('å','%E5');

Men nu bliver % lavet om til %25 hvilket forhindre %E6 i at være et æ, men bliver nu vist som %25E6. Søgningen virker stadig korrekt, men i søgeboksen vises det forkert.

Hvis jeg til gengæld skriver %E6 direkte i adressebaren, så vises der korrekt et æ, men når jeg henter siden sådan:

top.location.href="http://www.eksperten.dk/list.phtml?excerpt_on=0&find=%E6

så bliver det lavet om til %25E6 igen.

hvorfor? - hvad skal jeg replace i min søgestreng for at både søgning og visningen bliver korrekt når exp's søgeside hentes ind..
Avatar billede kalp Novice
16. marts 2005 - 10:31 #1
kan det første indlæg her hjælpe dig?

http://eksperten.dk/spm/600384
Avatar billede milandt Nybegynder
16. marts 2005 - 10:34 #2
Nej. Jeg tog faktisk udgangspunkt i denne tråd da jeg lavede søgeboksen. Det virker fint med en søgeboks jeg også har lavet der søger på google. Problemet er kun her på exp.dk.

Jeg forestiller mig at det er fordi det skal være muligt at søge på fx "%E6" og derfor bliver strengen lavet om til "%25E6", men det er jeg ikke interesseret i. Hvis jeg har en querystring med %E6 så skal en indlæses som %E6.

Prøv selv det script du henviser til - og hvis du får det til at virke, så giv mig lige besked.
Avatar billede kalp Novice
16. marts 2005 - 10:38 #3
virker fint:|
Avatar billede barklund Nybegynder
16. marts 2005 - 10:39 #4
Jeg er ikke helt med på dit spørgsmål og på, hvor problemet opstår. Hvis jeg åbner følgende via java script:

top.location.href="http://www.eksperten.dk/list.phtml?excerpt_on=æ'

Så konverteres 'æ' korrekt til '%E6' i url'en og eksperten konverterer efterfølgende korrekt tilbage igen og søger efter 'æ' og skriver 'æ' i søgefeltet.

Hvor ligger problemet?
Avatar billede milandt Nybegynder
16. marts 2005 - 10:39 #5
ikke på exp.dk ...
Avatar billede kalp Novice
16. marts 2005 - 10:40 #6
den virker hos mig. eller er jeg bare stiv?
Avatar billede milandt Nybegynder
16. marts 2005 - 10:42 #7
gider du - og har du tid til at lave et eksempel med en form og ligge den online så jeg kan prøve den..
Avatar billede milandt Nybegynder
16. marts 2005 - 10:45 #8
Korrekt at nedenstående laves om til %E6 i url'en, men nu er det bare ikke denne side der er søgesiden.

http://www.eksperten.dk/list.phtml?excerpt_on=æ

prøv at afvikle følgende linie:

top.location.href="http://www.eksperten.dk/list.phtml?excerpt_on=0&find=%E6";

eller

top.location.href="http://www.eksperten.dk/list.phtml?excerpt_on=0&find=æ";

Bemærk hvad der står i søgeboksen på siden
Avatar billede kalp Novice
16. marts 2005 - 10:49 #9
Der står altså Æ i begge 2
Avatar billede barklund Nybegynder
16. marts 2005 - 10:49 #10
Og i begge situationer står der, præcis hvad jeg søger efter. Den første giver '%E6' i søgefeltet, den anden giver 'æ'. Er det ikke også det, du søger efter?
Avatar billede milandt Nybegynder
16. marts 2005 - 10:50 #11
hmm.. ja.

jeg opbygger min url hvor jeg indsætter dette

?excerpt_on=0&find=

fra et hidden input felt. men hvis jeg ikke gør det (som ovenstående) så virker det..
Avatar billede barklund Nybegynder
16. marts 2005 - 10:53 #12
Nø, jeg kan godt se problemet. Men dit problem er så, at man ikke kan søæge efter %E6 - og det skal man kunne?
Avatar billede milandt Nybegynder
16. marts 2005 - 10:54 #13
stadig ikke optimalt..

prøv med følgende, og fortæl mig hvorfor det fejler:

strExpSearch = "æblegrød";
while (strExpSearch.indexOf('æ') > -1 || strExpSearch.indexOf('ø') > -1 || strExpSearch.indexOf('å') > -1){
strExpSearch = strExpSearch.replace('æ','%E6');
strExpSearch = strExpSearch.replace('ø','%F8');
strExpSearch = strExpSearch.replace('å','%E5');
}   
top.location.href="http://www.exp.dk/list.phtml?find=" + strExpSearch;
Avatar billede milandt Nybegynder
16. marts 2005 - 11:00 #14
Har fundet en "løsning" på mit problem. Det jeg har prøvet at beskrive sker hvis jeg bruger www.exp.dk til at søge på - men hvis jeg bruger www.eksperten.dk så er der ingen problemer..

Jeg ved stadig ikke hvorfor det ikke virker på exp.dk, men jeg har besluttet mig for at det ikke er mit javascript der er noget galt med.

du må gerne få points for din ulejlighed.
Avatar billede barklund Nybegynder
16. marts 2005 - 11:01 #15
PS. du kender godt escape()-funktionen, der netop laver specialtegn om til deres url-encodede entiteter?
Avatar billede barklund Nybegynder
16. marts 2005 - 11:02 #16
Ah, det skyldes jo nok, at det er noget rewrite et eller andet fra den ene url til den anden - som ved en fejl får proppet nogle ekstra urlencodede entiteter på rundt omkring.
Avatar billede milandt Nybegynder
16. marts 2005 - 11:25 #17
jeg havde i første omgang prøvet med escape(), men det virkede jo selvfølgelig heller ikke, så forkastede det lidt. Men det virker hvis jeg bruger eksperten.dk og ikke exp.dk
Avatar billede milandt Nybegynder
03. juni 2005 - 11:31 #18
closing
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester