Avatar billede kazz Nybegynder
18. oktober 2001 - 12:17 Der er 9 kommentarer

Søgefunktion i unicode

Jeg sidder og bikser med en søgefunktion, der er en lille fejl i den, men den virker. Mit egentlige problem består i at databasen indeholder æ, ø, å og for at få uploaded databasen til MySQL med disse intakte er jeg nødt til at gemme min csv fil med unicode. og Vupti så virker søgefunktionen ikke længere :(((((

Jeg ved ikke hvad jeg skal gære nu ...... hjæææælp!!!!

Hilsen KAZZ

Her er koden:

<?
if ($seek) { require(\"funk.php\");
aabn_forbindelse_og_vaelgdb();

$array = sql_spoerg_og_faa_svar(\"SELECT post, adr, distrikt FROM valg where post like \'%$seek%\' or adr like \'%$seek%\'\");
$number = mysql_num_rows($array);
$res = mysql_query($array);
print  \"Din søgning på: <b>$seek</b> gav $number resultater<br><br>\";
for ($i = 0; $i < sizeof($array); $i++) {
extract($array[$i]);
print \"adressen $adr tilhører distrikt $distrikt<br>\";
}
} elseif ($sog) {
print \"Du skrev ikke noget søgeord!!\";
} else {
}
?>
Avatar billede myplacedk Nybegynder
18. oktober 2001 - 12:52 #1
Sikker på at du skal bruge unicode? Er du sikker på at du bruger samme tegnsæt rundt omkring?
Avatar billede kazz Nybegynder
18. oktober 2001 - 13:09 #2
Nej jeg er ikke sikker på noget. Det eneste jeg ved er at jeg er nødt til at gemme min csv fil med unicode for at MySQL tabellen kommer til at indeholde æ, ø eller å.

Og når det så er gjort og min MySQL har disse æ,ø eller å´er i databasen - så virker søgefunktionen ikke længere...

Jeg kan så kun søge på 1 bogstav og det er ikke hensigtsmæssigt, da jeg så får flere tusind resultater.

Min database indeholder en masse adresser. Og hvis jeg f.eks. søger efter mejlgade
- jeg skriver mejlg kommer aller forekomster frem.

Men det virker som sagt ikke efter at jeg ligger databasen ind som en csv fil med unicode.
Avatar billede myplacedk Nybegynder
18. oktober 2001 - 13:17 #3
Jeg tror nu dit problem er, at du skal gemme i det rigtige tegnsæt, læse det ind i MySQL med det rigtige tegnsæt, hente ud af MySQL med det rigtige tegnsæt, og læse resultatet med det rigtige tegnsæt.

Hvis du ikke gemmer i unicode, kommer der så ikke nogle andre tegn i stedet for æ, ø og å?
Avatar billede kazz Nybegynder
18. oktober 2001 - 13:28 #4
Jo det gør der. Jeg får følgende tegn.

3/4 = æ
¿ = ø
Œ = å

Det er hvis jeg uploader min database som en ren csv fil med unix linebreaks.

:) KAZZ

Men det betyder jo så bare at jeg ikke kan søge på ord der indeholder æ,ø eller å!
Avatar billede myplacedk Nybegynder
18. oktober 2001 - 13:50 #5
Den nemme måde:
Kør en søg-og-erstat på filen inden du \"uploader\" den!

Det kan godt automatiseres, hvis det er noget, der skal gøres jævnligt.
Avatar billede kazz Nybegynder
18. oktober 2001 - 13:56 #6
Hmmm - jeg er ikke helt klar over hvordan du mener at jeg skal gøre dette =)

Det hjælper jo ikke noget at jeg prøver at gøre det før jeg gemmer filen fra min editor.

Mener du at jeg skal bruge et script til det ?? for så må jeg sige at jeg tror ikke lige at jeg har ide om hvordan.

:) KAZZ
Avatar billede myplacedk Nybegynder
18. oktober 2001 - 13:59 #7
1: Åbn cvs-filen med fx. notepad
2: Erstat 3/4 med æ
3: ...ø
4: ...å
5: Gem
6: Importer CVS-filen i MySQL
Avatar billede myplacedk Nybegynder
18. oktober 2001 - 14:00 #8
Hvis det virker tilfredsstillende, men er for besværligt da det skal gøres tit, så kan du fx. lave et script der gør det. Hvis det skal gøres tit har du vel alligevel et script der uploader filen. Så putter du bare lidt søg/erstat i det script.
Avatar billede jd Nybegynder
18. oktober 2001 - 14:07 #9
myplacedk:> Der er forskel på cvs og csv. :)
Desuden vil din løsning da ikke fungere da det tilsyneladende er MySQL der laver æ, ø og å om...

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk
Søger freelance PHP-arbejde
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