Jonas Skrevet 17. oktober 2009 Del Skrevet 17. oktober 2009 (endret) Fra et teknisk perspektiv er det ingen konsistent forskjell mellom norske og utenlandske webhotell. I hvert fall ikke når det kommer til tegnsett. Endret 17. oktober 2009 av Jonas Lenke til kommentar
HKRoed Skrevet 9. juli 2010 Del Skrevet 9. juli 2010 Sliter med å få alt på norsk. Side med skript er som følger: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sidetittel</title> </head> <body> <p>Overskrift<br /> <?php $dager = floor(time() / 86400); // 60 * 60 * 24 = 86400 $filnr = ($dager % 42) + 1; //0 = igår, 1 = idag, 2 = imorgen echo "<b>I dag "; echo strftime("%A %d/%B/%G"); echo "</b><br>"; echo readFromFile($filnr); echo "<br><b>"; echo "I morgen, "; echo strftime("%A %d/%B/%G", time()+86400); echo "</b><br>"; echo readFromFile($filnr+1); echo "<br><b>"; echo "Overimorgen, "; echo strftime("%A %d/%B/%G", time()+172800); echo "</b><br>"; echo readFromFile($filnr+2); function readFromFile($number){ if($number < 43) { $number = str_pad($number, 2, "0", STR_PAD_LEFT); $textfile1 = "dager/mappe1/{$number}.php"; $textfile2 = "dager/mappe2/{$number}.php"; include $textfile1; include $textfile2; } } ?> </body> </html> Filene som importeres til slutt er txt-filer. Jeg klarer IKKE å få alt på norsk Enten * så vises innholdet i txt-filene med æøå feil * så vises det en "byte order mark" * ukedagen i strftime-skriptet vises på engelsk Jeg mener å ha testet alle mulige måter, men klarer ikke å få alt på norsk. Lenke til kommentar
FrozenFish Skrevet 16. juli 2010 Del Skrevet 16. juli 2010 (endret) Prøver meg på hjelp her, jeg også... jeg har flyttet en phpbb3 install fra en server hos one.com til en ny server (nytt domene også). Jeg zippet gamle filer, tok backup av database og lastet opp på ny server. Derfra to den nye hostens support å gjorde resten. Alt ser ut til å virke. De som ikke har brukernavn som inneholder æøå, kan logge seg inn, men jeg som har admin, har en ø i mitt brukernavn, og kommer meg ikke inn. Alle ÆØÅ blir bare kråketegn. "Ø" blir "ø", "å" blir "Ã¥" og "Æ" blir "æ". Jeg har sammenliknet innstillinger i på ny og gammel server i phpmyadmin og det ser likt ut... MySQL-tegnsett: UTF-8 Unicode (utf8) Er det noen som har tips om hva jeg kan gjøre? AØÅ funket fint på den gamle serveren. Oppdatert: etter å ha skiftet username i phpmyadmin, klarer jeg å logge på. Når jeg skriver nye poster, funker æøå helt fint, men gamle poster har fortsatt kråketegn. Er eneste måte da å laste ned hele mysql databasen for så å "search and replace" alle kråketegn med æøå? Endret 16. juli 2010 av FrozenFish Lenke til kommentar
peace2 Skrevet 2. desember 2010 Del Skrevet 2. desember 2010 Noen som kjenner til Po-edit? , har problem med at den ikke takler norske bokstaver... Lenke til kommentar
Jonas Skrevet 3. desember 2010 Del Skrevet 3. desember 2010 Po-edit takler så absolutt norske bokstaver. Du må bare stille den inn til å lese og skrive med riktig encoding, noe som er helt imperativt i alle sammenhenger. 1 Lenke til kommentar
roger99 Skrevet 18. januar 2011 Del Skrevet 18. januar 2011 HODEFIL: <?php function replace_outside_tags($search, $replace, $txt){ $strlen = strlen($txt); $inTag = false; for($i = 0; $i < $strlen; $i++){ if(!$inTag && $txt[$i] == '<') $inTag = !$inTag; if(($inTag && ($txt[$i]=='>'))){ $inTag = !$inTag; } if(!$inTag){ if(substr($txt, $i, strlen($search)) == $search){ $txt = substr($txt, 0, $i).$replace.substr($txt, $i+strlen($search)); $strlen = strlen($txt); } }else continue; } return $txt; } ?> FOTFIL: <?php $txt = ob_get_clean(); $search = array("æ", "ø", "å"); $replace = array("æ", "ø", "å"); if(is_array($search) && is_array($replace) && count($search) == count($replace)){ $n = count($search); for($i = 0; $i < $n; $i++) $txt = replace_outside_tags($search[$i], $replace[$i], $txt); }else $txt = replace_outside_tags($search, $replace, $txt); echo $txt; ?> Lenke til kommentar
MikkelRev Skrevet 18. januar 2011 Del Skrevet 18. januar 2011 (endret) Hvordan urlencode med javascript? Saken er at url'en skal hentes med php $_GET. Har prøvd med en funksjon jeg fant på et tilfeldig forum: function urlencode(str) { return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40'); } , det gikk fint å sende mellomrom og linjeskift over querystringen, men æ,ø,å fikk den problemer med. Edit: tror encodeURI() er løsningen. Endret 18. januar 2011 av MikkelRev Lenke til kommentar
magicgunnar Skrevet 1. august 2011 Del Skrevet 1. august 2011 Prøver å sortere en array med navn på land. Først prøvde jeg: asort($countryNames); Men da kom Åland før Østerrike og Øst-Timor. Så prøvde jeg meg med: setlocale(LC_COLLATE, "no_NO"); usort($countryNames, "strcoll"); Men da kommer alle tre landene blant landene på A. Hvordan sorterer jeg et array som inneholder ord med æ, ø og å? Lenke til kommentar
frodrikk Skrevet 24. august 2011 Del Skrevet 24. august 2011 (endret) Jeg er stuck... Jeg har prøvd alt mulig rart, men får ikke dette til å fungere. Hvis man setter tegnsett til iso-8859-1 så vises Mysql-data riktig, men php/html blir feil. Med utf-8 så blir php/html riktig, men mysql feil. Noen som har noen tips? Jeg har som sagt prøvd i mangfoldige timer uten at jeg kommer noe lenger så nå er jeg rimelig lei Endret 26. september 2011 av frodrikk Lenke til kommentar
Ståle Skrevet 24. august 2011 Del Skrevet 24. august 2011 etter du har koblet til $db->query("SET NAMES utf8"); $db->query("SET CHARACTER_SET utf8"); $db->query("SET LC_TIME_NAMES = 'nb_NO'"); Lenke til kommentar
Thomas. Skrevet 24. august 2011 Del Skrevet 24. august 2011 Jeg er stuck... Hvis dere tar en titt på http://oyvind.dyndns...ng/eksempel.php Jeg har prøvd alt mulig rart, men får ikke dette til å fungere. Hvis man setter tegnsett til iso-8859-1 så vises Mysql-data riktig, men php/html blir feil. Med utf-8 så blir php/html riktig, men mysql feil. Noen som har noen tips? Jeg har som sagt prøvd i mangfoldige timer uten at jeg kommer noe lenger så nå er jeg rimelig lei Har du satt tegnsettet i php? Sett tegnsettet i php og html til iso-x-x. Ikke noe mer. Det holder, så lenge tegnene ser normale ut i databasen (via f.eks phpmyadmin), og du bruker latin1 tegnsett på tabellene. Husk at php-filen også må være lagret med rett tegnkoding. PHP (øverst i alle filer/hovedfilen): header('Content-type: text/html; charset=ISO-8859-15'); HTML: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15"> Lenke til kommentar
frodrikk Skrevet 25. august 2011 Del Skrevet 25. august 2011 (endret) Jeg er stuck... Jeg har prøvd alt mulig rart, men får ikke dette til å fungere. Hvis man setter tegnsett til iso-8859-1 så vises Mysql-data riktig, men php/html blir feil. Med utf-8 så blir php/html riktig, men mysql feil. Noen som har noen tips? Jeg har som sagt prøvd i mangfoldige timer uten at jeg kommer noe lenger så nå er jeg rimelig lei Har du satt tegnsettet i php? Sett tegnsettet i php og html til iso-x-x. Ikke noe mer. Det holder, så lenge tegnene ser normale ut i databasen (via f.eks phpmyadmin), og du bruker latin1 tegnsett på tabellene. Husk at php-filen også må være lagret med rett tegnkoding. PHP (øverst i alle filer/hovedfilen): header('Content-type: text/html; charset=ISO-8859-15'); HTML: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15"> Nå er det satt i php og html til iso.8859-1 og jeg satt databasen til latin_1_danish eller noe lignende, men da dukker jo problemet opp som jeg beskrev. Nå er det php/html som er FU mens mysql er good. Jeg prøvde å sjekke encoding av filen, men ble ikke så mye klokere: # file -bi test.php text/html EDIT: Glem det, jeg som ikke sjekket godt nok her. Prolemet lå i kodingen i filen Endret 26. september 2011 av frodrikk Lenke til kommentar
poande05 Skrevet 16. november 2011 Del Skrevet 16. november 2011 (endret) Jeg støtte bort i et problem hvor jeg skulle søke i bibliotekbasen etter ordet "brønn". ÆØÅ er ofte krevende for utviklere, og her hjalp hverken urlencode(), utf8_encode(), utf8_decode() eller noe annet. Jeg trengte hente inn dette xml-resultatet på et søk i DOMDocument load(): http://sru.bibsys.no/search/biblio?version=1.2&operation=searchRetrieve&startRecord=1&maximumRecords=10&query=æøå%20sortby%20sortdate&recordSchema=dc Jeg fant tilfeldigvis ut at hvis jeg kopierte adressen fra Chrome sin adressebar, fikk jeg dette resultatet: http://sru.bibsys.no/search/biblio?version=1.2&operation=searchRetrieve&startRecord=1&maximumRecords=10&query=%C3%A6%C3%B8%C3%A5%20sortby%20sortdate&recordSchema=dc Her er noe kode for å fikse opp i problemet, lage søket og hente det inn i DOM: $searchTerm = "brønn"; //sett tegn som jeg fikk i Chrome copy paste metoden min $liten_ae = "%C3%A6"; $liten_oe = "%C3%B8"; $liten_aa = "%C3%A5"; $stor_ae = "%C3%86"; $stor_oe = "%C3%98"; $stor_aa = "%C3%85"; //erstatt alle æøåÆØÅ $searchTermForScript = str_replace("æ", $liten_ae, $searchTermForScript); $searchTermForScript = str_replace("ø", $liten_oe, $searchTermForScript); $searchTermForScript = str_replace("å", $liten_aa, $searchTermForScript); $searchTermForScript = str_replace("Æ", $stor_ae, $searchTermForScript); $searchTermForScript = str_replace("Ø", $stor_oe, $searchTermForScript); $searchTermForScript = str_replace("Å", $stor_aa, $searchTermForScript); $queryString = "http://sru.bibsys.no/search/biblio?version=1.2&operation=searchRetrieve&startRecord=1&maximumRecords=10&query=" . $searchTermForScript . "%20sortby%20sortdate&recordSchema=dc"; //last inn i dom $dom = new DOMDocument(); $dom->load($queryString); Endret 16. november 2011 av poande05 Lenke til kommentar
FraXinuS Skrevet 16. november 2011 Del Skrevet 16. november 2011 Det du gjør der er akkurat det samme som urlencode gjør. // Hvis 'æøå' er utf-8 encodet: var_dump(urlencode('æøå') == '%C3%A6%C3%B8%C3%A5%'); Det funker bare hvis du lagrer filene dine i utf-8, hvis du lagrer filene dine i iso-8859-1 må du først bruke utf8_encode: // Hvis 'æøå' er iso-8859-1 encodet: var_dump(urlencode(utf8_encode('æøå')) == '%C3%A6%C3%B8%C3%A5%'); Lenke til kommentar
poande05 Skrevet 17. november 2011 Del Skrevet 17. november 2011 Det du gjør der er akkurat det samme som urlencode gjør. // Hvis 'æøå' er utf-8 encodet: var_dump(urlencode('æøå') == '%C3%A6%C3%B8%C3%A5%'); Det funker bare hvis du lagrer filene dine i utf-8, hvis du lagrer filene dine i iso-8859-1 må du først bruke utf8_encode: // Hvis 'æøå' er iso-8859-1 encodet: var_dump(urlencode(utf8_encode('æøå')) == '%C3%A6%C3%B8%C3%A5%'); Takk 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å