Avatar billede boris Mester
14. september 2003 - 18:02 Der er 19 kommentarer og
1 løsning

MySQL søgning med æøå

SELECT * FROM varer WHERE navn LIKE '%" & Request.Form("inputfelt") & "%' ORDER BY navn

udløser "You have an error in your SQL syntax "

når der er æøå i søgestrengen.

What dælen do i do????

Som det ses er det ASP/MySQL

På forhånd tak.
Avatar billede boris Mester
14. september 2003 - 18:04 #1
Det skal lige tilføjes, at det ligger på et webhotel, så jeg kan ikke indstille på serveren.
Avatar billede clausjul Nybegynder
14. september 2003 - 18:13 #2
Kan det skyldes at indholdet i Request.Form er escaped, sådan at æøå bliver ændret til escaped tegn med %'er ? Prøv lige at se, hvad Request.Form indeholder
Avatar billede boris Mester
14. september 2003 - 18:26 #3
Det ser det ikke ud til.
Her er lidt af den færdige sql-streng, som bliver afvist
...WHERE navn LIKE "vægkalender" ORDER BY ..

Og her er en stump af en, der virker:
...WHERE navn LIKE "prisetiketter" ORDER...
Avatar billede clausjul Nybegynder
14. september 2003 - 18:28 #4
prøv med WHERE navn LIKE 'vægkalender' ORDER By ...
Avatar billede boris Mester
14. september 2003 - 18:36 #5
Det er prøvet. Også at indsætte ordet vægkalender.
Slet ingen forskel
Avatar billede clausjul Nybegynder
14. september 2003 - 18:51 #6
Giv mig lige den fulde SQL
Avatar billede clausjul Nybegynder
14. september 2003 - 18:52 #7
Hvorfor ikke WHERE navn = 'vægkalender' ORDER BY ...
Avatar billede Slettet bruger
14. september 2003 - 18:55 #8
Jamen den færdige SQl streng skal jo også være

...WHERE navn LIKE "%vægkalender%" ORDER BY ..
Avatar billede Slettet bruger
14. september 2003 - 18:55 #9
eller
...WHERE navn LIKE '%vægkalender%' ORDER BY ..
Avatar billede boris Mester
14. september 2003 - 19:02 #10
Det er fuldstændig ligemeget. Alt virker perfekt med de forskellige ord, så længe der ikke indgår æ.
Avatar billede clausjul Nybegynder
14. september 2003 - 20:20 #11
Please send den fulde SQL - måske ligger der noget andet begravet der ;-)
Avatar billede boris Mester
14. september 2003 - 21:35 #12
Jeg kan ændre det til = eller like og med eller uden %.
Men lige så snart udtrykket indeholder æ,ø,å,ö,ä kommer der fejl.
Fejlmeldingen siger ganske rigtigt, at fejel ligger nær 'v', og æ ligger jo også umiddelbart efter 'v'.

Først SQL-sætningen og så fejlmeldingen:
SELECT * FROM varer WHERE navn = 'vægkalender' ORDER BY navn
ADODB.Recordset.1 error '80004005'

SQLState: 42000
Native Error Code: 1064
[TCX][MyODBC]You have an error in your SQL syntax near ''v' at line 1
Avatar billede boris Mester
14. september 2003 - 22:21 #13
Det lader til at være et større problem at bruge select med æøå i MySQL.
Men nogen må da vel for p***** have løst det?
Avatar billede clausjul Nybegynder
14. september 2003 - 22:22 #14
Det kan skyldes at MySQL er sat forkert op hos udbyderen. Den skal kunne håndtere ISO-8859-1 som indeholder de vesteuropæiske tegnsæt. Spørg dig for der!
Avatar billede clausjul Nybegynder
14. september 2003 - 22:23 #15
Hvilken felttype har feltet "navn" ?
Avatar billede boris Mester
14. september 2003 - 22:25 #16
VARCHAR(40), men jeg har også prøvet at ændre til tinytext
Avatar billede clausjul Nybegynder
14. september 2003 - 22:30 #17
Så melder jeg desværre pas...
Avatar billede boris Mester
14. september 2003 - 22:54 #18
Jo, men tak for forsøgene. I morgen kontakter jeg udbyderen!
Nu skal det altså lykkes. Det kan ikke være meningen, at man kan have hønsekød, æggeblommer og gåsesteg liggende i databasen uden nogensinde at kunne søge efter det!
Avatar billede boris Mester
14. september 2003 - 23:47 #19
Nu har jeg - som en nødløsning - erstattet æøå med % og s% virker det rimeligt.

Dog under det mig meget, at i phpMyAdmin og i PHP er der ingen problemer; kun i ASP!
Avatar billede boris Mester
16. september 2003 - 17:01 #20
Løsningen er ikke fundet, men jeg bruger som sagt % i stedet for æøå. Det går nogenlunde.  Udbyderen kan heller ikke give en forklaring.
Så jeg lukker og takker for deltagelsen
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
Computerworld tilbyder specialiserede kurser i database-management

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