jabberjab Skrevet 25. februar 2009 Del Skrevet 25. februar 2009 (endret) Heisann. Jeg har en nettside som bruker charset UTF-8. Jeg har en streng med delimiter ";" som jeg genererte etter en spørring til en MYSQL-database. Hele denne strengen ble så echoet ut via PHP til min javascriptfunksjon. Der skal den så splittes opp, og så legges inn i en rullegardinmeny. Dette fungerer flott bortsett fra at jeg hadde store problemer med å få nøkkelordene til og vises med Æ Ø Å. Dette løste jeg så ved å sette å ø -- osv. inn i mysql. Problemet med denne løsningen er at det nå blir nye linjer i rullegardinmenyen etter en Æ, Ø eller Å. F.eks. "Miljø Mat Ø konomi" Her er koden; /* Leggtil.js */ function HentNokkelord(input) { var id = input.id; var value = input.value; $.post("../hentnokkelord.php", { inputdata: value }, function(data) { document.getElementById("nokkelordvalg").innerHTML = ""; if(data != "") { var nokkelordArray = data.split(";"); for(var i = 0; i < nokkelordArray.length - 1; i++) { document.getElementById("nokkelordvalg").innerHTML += "<option value='" + nokkelordArray[i] + "'>" + nokkelordArray[i] + "</option>"; } } else { document.getElementById("nokkelordvalg").innerHTML += "<option value='ingen'>" + "Velg nøkkelord" + "</option>"; } }); } $(document).ready(function() { $("#kategorivalg").click(function() { HentNokkelord(this); }); }); /* HentNokkelord.php */ $valgtKategori = $_POST["inputdata"]; if(get_magic_quotes_gpc()) { $valgtKategori = stripslashes($valgtKategori); } $valgtKategori = mysql_real_escape_string($valgtKategori); if(!$ztilkobling) die("Feil: " . mysql_error()); $qNokkelord = "SELECT * FROM Nokkelord WHERE kategori='$valgtKategori'"; $resNokkelord = mysql_query($qNokkelord, $ztilkobling); $utstreng = ""; while($rad = mysql_fetch_array($resNokkelord)) { $utstreng .= $rad["nokkelord"] . ";"; } echo $utstreng; mysql_close($ztilkobling); ?> Håper noen har muligheten til å hjelpe eller komme med innspill Endret 25. februar 2009 av jabberjab Lenke til kommentar
LostOblivion Skrevet 27. februar 2009 Del Skrevet 27. februar 2009 Veit ikke om det løser problemet ditt, men det er greit om du er sikker på at MySQL bruker ønsket charset. http://no2.php.net/manual/en/function.mysql-set-charset.php Lenke til kommentar
jabberjab Skrevet 27. februar 2009 Forfatter Del Skrevet 27. februar 2009 (endret) Veit ikke om det løser problemet ditt, men det er greit om du er sikker på at MySQL bruker ønsket charset. http://no2.php.net/manual/en/function.mysql-set-charset.php Undersøkte charsettet slik som du foreslå. Fikk beskjed om Latin1, selv om det står utf_8 over det hele i phpMyAdmin. Jeg tok så og satte charsettet til utf8 via mysql_set_charset().. Har dog fortsatt samme problemet. Her er en del av koden som setter et nøkkelord inn i databasen mysql_set_charset("utf8", $con); mysql_query("INSERT INTO Nokkelord(nokkelord, kategori, url) VALUES('Håndball', 'Sport', 'Haandball')", $con); Jeg har også prøvd å sette Håndball inn. Ved å sette inn Håndball rett frem vises KUN en 'H' i dropdownlisten. Setter jeg inn Håndball inn får jeg håndball som et valg i rullegardinmenyen, men da med en tom linje under som illustrert i dette bildet; En annen ting er at alt annet i databasen blir outputta bra med norske bokstaver, det er kun det som går via Javascript som skaper problemer.. Altså echo i PHP på verdier fra databasen ser bra ut.. Det er kun innerHTML i javascriptet som blir fucked. Det skal dog sies at dersom jeg skriver ut "ØÆÅ" via javascriptet istedenfor å printe ut verdier fra arrayet nokkelordArray så popper ØÆÅ opp, så feilen må jo skje i det PHP echo'er strengen til javascriptet. Jeg har nå kommet hit, men der stopper det. Endret 27. februar 2009 av jabberjab Lenke til kommentar
JohndoeMAKT Skrevet 2. mars 2009 Del Skrevet 2. mars 2009 Dersom du gir oss en link blir det mye lettere å se hva som er galt. For charset kan det være feil over hele linja, og det er veldig mye arbed i forklare hvordan hvert steg kan testes. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå