Avatar billede angelod Novice
01. september 2003 - 02:36 Der er 8 kommentarer og
1 løsning

Gennemgående problem med Danske bogstaver i PHP

Okay, nu er jeg ved at være træt af dette problem.. Jeg har haft det på 2 servere allerede, og løste det vist nok på en af dem, men husker ikke hvordan.

Anyhow, problemet er, at når et script skal sende Danske bogstaver, så kommer de ikke frem som Æ, Ø, og Å, men nærmere som æ, ø, og Ã¥. Jeg ved dette er fordi det er i UTF-8 format, eller rettere, det formoder jeg det er.

Jeg ved bare ikke hvordan jeg skal forhindre at den selv ændrer det. Jeg har sat pointene rimeligt højt, da det er ret vigtigt for mig.
Avatar billede schaefner Juniormester
01. september 2003 - 06:23 #1
Prøv at sætte dette imellem <head> og </head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
Avatar billede schaefner Juniormester
01. september 2003 - 06:24 #2
men prøv også lige at skrive i hvilken sammenhæng du har problemer.
Avatar billede schaefner Juniormester
01. september 2003 - 06:32 #3
Jeg har selv oplevet det, men det var kun med en xml-parser.
Avatar billede tipsen Nybegynder
01. september 2003 - 11:06 #4
Der er noget konfiguration i php.ini:

; As of 4.0b4, PHP always outputs a character encoding by default in
; the Content-type: header.  To disable sending of the charset, simply
; set it to be empty.
;
; PHP's built-in default is text/html
default_mimetype = "text/html"
;default_charset = "iso-8859-1"

Og ligeledes i httpd.conf (Hvis du bruger Apache):

#
# Specify a default charset for all pages sent out. This is
# always a good idea and opens the door for future internationalisation
# of your web site, should you ever want it. Specifying it as
# a default does little harm; as the standard dictates that a page
# is in iso-8859-1 (latin1) unless specified otherwise i.e. you
# are merely stating the obvious. There are also some security
# reasons in browsers, related to javascript and URL parsing
# which encourage you to always set a default char set.
#
AddDefaultCharset ISO-8859-1

#
# Commonly used filename extensions to character sets. You probably
# want to avoid clashes with the language extensions, unless you
# are good at carefully testing your setup after each change.
# See ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets for
# the official list of charset names and their respective RFCs
#
AddCharset ISO-8859-1  .iso8859-1 .latin1
AddCharset ISO-8859-2  .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3  .iso8859-3 .latin3
AddCharset ISO-8859-4  .iso8859-4 .latin4
AddCharset ISO-8859-5  .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6  .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7  .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8  .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9  .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5        .Big5      .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251  .win-1251
AddCharset CP866      .cp866
AddCharset KOI8-r      .koi8-r .koi8-ru
AddCharset KOI8-ru    .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8      .utf8

# The set below does not map to a specific (iso) standard
# but works on a fairly wide range of browsers. Note that
# capitalization actually matters (it should not, but it
# does for some browsers).
#
# See ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets
# for a list of sorts. But browsers support few.
#
AddCharset GB2312      .gb2312 .gb
AddCharset utf-7      .utf7
AddCharset utf-8      .utf8
AddCharset big5        .big5 .b5
AddCharset EUC-TW      .euc-tw
AddCharset EUC-JP      .euc-jp
AddCharset EUC-KR      .euc-kr
AddCharset shift_jis  .sjis

Det er fra min egen konfiguration, hvor der ikke er problemer med æ, ø og å. Derudover benytter jeg så også det meta-tag schaefner nævner.
Avatar billede angelod Novice
01. september 2003 - 14:20 #5
Okay, jeg har følgende i <head> delen af alle mine sider:
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Apache konfigurations-filen har jeg ikke ret til at ændre i (kan dog snakke med administratoren hvis det skulle blive nøvendigt), men jeg har sat værdien for PHP i en .htaccess fil.

Det følgende bliver modtaget af browseren når man sender et request til den pågældende side:

HTTP/1.1 200 OK
Date: Sun, 31 Aug 2003 14:08:56 GMT
Server: Apache-AdvancedExtranetServer/2.0.44 (Mandrake Linux/11mdk) mod_perl/1.99_08 Perl/v5.8.0 mod_ssl/2.0.44 OpenSSL/0.9.7a PHP/4.3.1
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.1
Set-Cookie: PHPSESSID=<hidden>; path=/
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Last-Modified: Sun, 31 Aug 2003 14:08:56 GMT
Cache-Control: post-check=0, pre-check=0
Content-Type: text/html; charset=iso-8859-1
Avatar billede angelod Novice
01. september 2003 - 14:58 #6
Nøj for en stupid fejl.. Havde glemt <meta> tag på én side, og det fik det hele til at gå galt.. Det var dog dumt.. Nåh, men det er løst nu.

Smider I lige begge et svar, så får I nogle point som tak fordi I gad. :o)
Avatar billede schaefner Juniormester
01. september 2003 - 16:15 #7
Det var da godt du fik det til at virke :)
Avatar billede angelod Novice
01. september 2003 - 16:21 #8
Ja.. Stupide IE.. *knurre*
Avatar billede tipsen Nybegynder
03. september 2003 - 00:35 #9
Det var vel ikke engang IE der tiltede denne gang? ;-)
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