webForumDet fria alternativet

Apache/Locale och teckenkodning

1 svar · 1 186 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Tja

Har problem med en webbserver som kör Debian 6, Apache 2 och PHP 5.

Servern är konfigurerad såhär:

locale

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

locale -a

C
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
[red]sv_SE.utf8[/red]

Nu har jag en flerspråk sida, där jag anger locale med hjälp av set_locale(LC_ALL, <locale>) enligt följande:

setlocale(LC_ALL, "sv_SE.UTF8");
setlocale(LC_NUMERIC, 'C');

Men det här fungerar inte riktigt... Datum etc. som jag sätter m.h.a strtime visas på Svenska, precis som det ska, men lördag blir lördag och söndag blir söndag.

Detta tyder på teckenkodningsfel... Dock blir det endast fel på datum, övriga åäö i texter etc. fungerar som det ska.

Jag har testat att byta .UTF8 mot både UTF-8, utf-8 och utf8 men utan skillnad. När jag tar bort .utf8 helt och bara kör setlocale(LC_ALL, "sv_SE"); så blir det ingen skillnad alls.

Förslag på vad det kan bero på?

Tack!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#2

Ursäkta, jag är en idiot...

Det låg kvar några rester i det felande scriptet, där jag (tidigare) skrev ut tidsstämplar med utf8_decode(strtotime()) och det var rätt, men utf8_decode gjorde att det blev fel.

Bort med det och allt fungerar som det ska.

133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)