abrj Skrevet 1. desember 2018 Del Skrevet 1. desember 2018 Jeg har en php-kode som på en side viser hvilken ukedag det er på norsk.Denne koden har funket greit frem til nå hvor php ble oppgradert til 7.2 og dagen vises feil. Problemet er at lørdag og søndag vises som l�rdag eller s�ndag.Koden er som følger; <?php setlocale(LC_ALL,'no_NO'); echo strftime("%A"); echo " "; echo date("d.m.Y"); ?> Jeg har passet på at filen er UTF-8, etter anbefaling fra webleverandør, og at det i metataggene også angis at det er UTF-8.Jeg har forsøkt med htmlentities og htmlspecialchars, men uten hell, da blir det bare blankt område.Noen som kan gi meg noen hint/hjelp på veien Lenke til kommentar
j-- Skrevet 1. desember 2018 Del Skrevet 1. desember 2018 Vil tro det er serveren som ikke forteller nettleseren at det er UTF-8-enkodet innhold. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> Du kan i Chrome se hva serveren forteller nettleseren at innholdet er (F12 -> network -> se igjennom headers som sendes). PS: Angående tid i PHP: http://php.net/manual/en/function.date-default-timezone-set.php Lenke til kommentar
Ernie Skrevet 2. desember 2018 Del Skrevet 2. desember 2018 (endret) PHP har tilnærmet ingen støtte for UTF-8 og Unicode, så her er det mange fallgruver å falle i Det du mest sannsynligvis er ute etter er dog header('Content-Type: text/html; charset=utf-8'); Denne bør legges inn så tidlig som mulig da det ikke fungerer hvis «header» allerede er sendt (skjer typisk i det man skriver ut noe) Endret 2. desember 2018 av Ernie Lenke til kommentar
abrj Skrevet 2. desember 2018 Forfatter Del Skrevet 2. desember 2018 (endret) Vil tro det er serveren som ikke forteller nettleseren at det er UTF-8-enkodet innhold. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> Du kan i Chrome se hva serveren forteller nettleseren at innholdet er (F12 -> network -> se igjennom headers som sendes). PS: Angående tid i PHP: http://php.net/manual/en/function.date-default-timezone-set.php PHP har tilnærmet ingen støtte for UTF-8 og Unicode, så her er det mange fallgruver å falle i Det du mest sannsynligvis er ute etter er dog header('Content-Type: text/html; charset=utf-8');Denne bør legges inn så tidlig som mulig da det ikke fungerer hvis «header» allerede er sendt (skjer typisk i det man skriver ut noe)Les alt jeg skriver før noen eventuelt svarer; Som jeg skrev i mitt innlegg så er filen lagret som UTF-8, og jeg har lagt inn UTF-8 Metatag-feltet. La også inn i Header nå for å prøve. Uansett funker det fremdeles ikke. Jeg la til æøå i ren tekst i filen vises dette som det skal, men det datoscriptet mitt virker ikke. Koden ligger i øverste innlegget Problemene startet etter at PHP ble oppgradert til 7.2. Webhost sier dette skyldes at UTF-8 ikke er angitt riktig. Endret 2. desember 2018 av abrj Lenke til kommentar
Ernie Skrevet 2. desember 2018 Del Skrevet 2. desember 2018 (endret) Ah, nå skjønner jeg hva som foregår. Les heller hva jeg skriver du PHP har tilnærmet ingen støtte for UTF-8 og Unicode, så her er det mange fallgruver å falle i Jeg tror du her har funnet en av fallgruvene. Det jeg tror skjer her er at strftime-funksjonen gir deg tekst i et eller annet 8 bit tegnsett tilbake (mistenker ISO 8859-1 / Latin1). Du kan prøve med følgende: setlocale(LC_ALL,'no_NO.UTF-8'); eller (vil kreve at dataene faktisk er ISO 8859-1, så hvis det er Windows-1252 er det ikke sikkert det gir 100% korrekt resultat): echo utf8_encode(strftime("%A")); Alternativt, og hvis du har mbstring installert på serveren kan du forsøke med echo mb_convert_encoding(strftime("%A"), "UTF-8"); Det går an å slenge på en tredje parameter til funksjonen for å spesifisere det tegnsette dataene inn har. Redigering: Fikset en litt vel åpenbar feil i koden min Endret 2. desember 2018 av Ernie 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å