/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Konvertering af danske tegn
Fra : Jasm


Dato : 15-01-03 12:58

Er der nogen der har lavet en funktion eller har kendskab til en indbygget
metode som gør det nemt at konvertere danske tegn i en tekst til koden for
det pågældende tegn. Det vil sige "æ" bliver til "æ" etc. Det skal
bruges når en bruger indtaster noget som jeg så skal indsætte i en
MySQL-database.

/Jasm



 
 
Lars Dybdahl (15-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 15-01-03 13:11

Benyt htmlentities() til dette.

Vær dog opmærksom på, at denne funktion kun kan bruges med iso8859-1
tegnsættet, og at mange Linux maskiner nu kører utf-8 tegnsættet i stedet.

Hilsen,

Lars.

--
Freelance programmør
Programmering mod timebetaling

Peter Brodersen (15-01-2003)
Kommentar
Fra : Peter Brodersen


Dato : 15-01-03 13:11

On Wed, 15 Jan 2003 12:57:38 +0100, "Jasm"
<jacobstampe@vip.cybercity.dk> wrote:

>Er der nogen der har lavet en funktion eller har kendskab til en indbygget
>metode som gør det nemt at konvertere danske tegn i en tekst til koden for
>det pågældende tegn. Det vil sige "æ" bliver til "&aelig;" etc. Det skal
>bruges når en bruger indtaster noget som jeg så skal indsætte i en
>MySQL-database.

Funktionen htmlentities() kan gøre det for dig.

Men hvorfor er det vigtigt for dig at konvertere fx "æ" til "&aelig;"?
Både HTML og MySQL kan klare æøå uden problemer. Faktisk vil det også
være lettere fx at søge i på den måde.

--
- Peter Brodersen

Larz (15-01-2003)
Kommentar
Fra : Larz


Dato : 15-01-03 13:17


"Peter Brodersen" <usenet@ter.dk> wrote in message
news:b03j74$6ci$1@dknews.tiscali.dk...
> >Er der nogen der har lavet en funktion eller har kendskab til en
indbygget
> >metode som gør det nemt at konvertere danske tegn i en tekst til koden
for
> >det pågældende tegn. Det vil sige "æ" bliver til "&aelig;" etc. Det skal
> >bruges når en bruger indtaster noget som jeg så skal indsætte i en
> >MySQL-database.
>
> Funktionen htmlentities() kan gøre det for dig.
>
> Men hvorfor er det vigtigt for dig at konvertere fx "æ" til "&aelig;"?
> Både HTML og MySQL kan klare æøå uden problemer. Faktisk vil det også
> være lettere fx at søge i på den måde.

Nemlig! Du skal blot huske i din HTML "head" sektion at tilføje noget i stil
med:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Så vil det altid se lækkert ud :)

-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
To mail me remove your pants.



Peter Brodersen (15-01-2003)
Kommentar
Fra : Peter Brodersen


Dato : 15-01-03 14:07

On Wed, 15 Jan 2003 13:16:31 +0100, "Larz" <lp@your-pants-coder.dk>
wrote:

>Nemlig! Du skal blot huske i din HTML "head" sektion at tilføje noget i stil
>med:
>
><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
>
>Så vil det altid se lækkert ud :)

Nyere Apache'r tager det endda allerede med i Content-Type'n i
HTTP-headeren:
Content-Type: text/html; charset=iso-8859-1

Det kan dog stadigvæk være praktisk nok at have det med i HTML-filen,
såfremt den bliver kopieret rundt uden at charset-informationen fra
headeren bliver medtaget.

--
- Peter Brodersen

Jesper Brunholm (15-01-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 15-01-03 14:55

Peter Brodersen wrote:
>><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
>>
>>Så vil det altid se lækkert ud :)

> Nyere Apache'r tager det endda allerede med i Content-Type'n i
> HTTP-headeren:
> Content-Type: text/html; charset=iso-8859-1
>
> Det kan dog stadigvæk være praktisk nok at have det med i HTML-filen,
> såfremt den bliver kopieret rundt uden at charset-informationen fra
> headeren bliver medtaget.

det vil også øge sidernes portabilitet - in case de skulle havne på en
af de _mange_ servere som tror, og deklarerer at alting er utf-8, så vi
får spøjse tegn ind i mozilla på hver 3. hjemmeside

mvh

Jesper Brunholm


--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


Peter Brodersen (16-01-2003)
Kommentar
Fra : Peter Brodersen


Dato : 16-01-03 04:55

On Wed, 15 Jan 2003 14:55:02 +0100, Jesper Brunholm
<nospam@brunholm-scharff.dk> wrote:

>det vil også øge sidernes portabilitet - in case de skulle havne på en
>af de _mange_ servere som tror, og deklarerer at alting er utf-8, så vi
>får spøjse tegn ind i mozilla på hver 3. hjemmeside

Jeg har oplevet situationen i mozilla en del gange, men er det ikke
kun i de tilfælde, hvor der ikke bliver angivet noget charset fra
serverens side, at mozilla så går ud fra at webserveren sender i
utf-8?

Jeg kan ikke umiddelbart erindre at jeg er faldet over servere, der
spytter utf-8 ud som charset. Ikke at det ikke er sket; jeg må
indrømme, at jeg ikke tjekker http-headers på samtlige servere, jeg
besøger :)

Jeg vil prøve at se om situationen kan reproduceres...

--
- Peter Brodersen

Lars Dybdahl (16-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 16-01-03 12:29

Hvis I har brug for en side, der kører utf-8, så har I en i
http://igang.dk/.

Problemet med tegnsæt havde Jyske Netbank. Hvis man tog et kontoudtog
(iso8859-1 tegnsæt) og sendte den til en Red Hat 8.0 bruger med standard
dansk eller engelsk opsætning, så kører denne Linux utf-8 og prøvede så at
læse Jyske Netbanks side som var det utf-8, hvorved æøå forsvandt.

Jeg har for en uges tid siden meddelt dette til dem, og de ville tilføje
tegnsæt-headeren snarest muligt, så muligvis er det allerede rettet.

Hilsen,

Lars.

--
Peter Brodersen wrote:
>>det vil også øge sidernes portabilitet - in case de skulle havne på en
>>af de _mange_ servere som tror, og deklarerer at alting er utf-8, så vi
>>får spøjse tegn ind i mozilla på hver 3. hjemmeside
>
> Jeg har oplevet situationen i mozilla en del gange, men er det ikke
> kun i de tilfælde, hvor der ikke bliver angivet noget charset fra
> serverens side, at mozilla så går ud fra at webserveren sender i
> utf-8?
>
> Jeg kan ikke umiddelbart erindre at jeg er faldet over servere, der
> spytter utf-8 ud som charset. Ikke at det ikke er sket; jeg må
> indrømme, at jeg ikke tjekker http-headers på samtlige servere, jeg
> besøger :)


Lars Axberg (16-01-2003)
Kommentar
Fra : Lars Axberg


Dato : 16-01-03 06:11


"Peter Brodersen" <usenet@ter.dk> wrote in message
news:b03mf4$6js$2@dknews.tiscali.dk...
> On Wed, 15 Jan 2003 13:16:31 +0100, "Larz" <lp@your-pants-coder.dk>
huske i din HTML "head" sektion at tilføje noget i stil
> >med:
> >
> ><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> >Så vil det altid se lækkert ud :)
Nyere Apache'r tager det endda allerede med i Content-Type'n i
HTTP-headeren:

Hmm... Det kan godt være, at det er mig den er gal med, men situationen er,
at jeg sad i samme knibe som posteren af denne "streng". Hos mig er
situationen, at PHP ikke forstår dk tegn! Mysql skriver dem som æøå men når
det bliver spyttet ud igen på siden bliver det til mærkelige tegn! Har også
prøvet at følge ovenstående råd, men til ingen nytte! Hvad gør man?

-----------
Lars Axberg




Peter Brodersen (16-01-2003)
Kommentar
Fra : Peter Brodersen


Dato : 16-01-03 06:37

On Thu, 16 Jan 2003 06:11:05 +0100, "Lars Axberg" <axberg@person.dk>
wrote:

>Har også prøvet at følge ovenstående råd, men til ingen nytte! Hvad gør man?

Har du en URL til en webside, der driller, så vi andre kan se
outputtet?

--
- Peter Brodersen

Lars Axberg (17-01-2003)
Kommentar
Fra : Lars Axberg


Dato : 17-01-03 07:30

"Peter Brodersen" <usenet@ter.dk> wrote in message
news:b05gef$b11$1@dknews.tiscali.dk...
> Har du en URL til en webside, der driller, så vi andre kan se
> outputtet?

Desværre ikke en URL endnu, men sagen er den, at jeg har tilføjet <meta
http-equiv="content-type" content="text/html"; charset="ISO-8859-1"> i min
html header og det burde jo resultere i dk tegn ikke? Når jeg kigger i
PHPmyAdmin og ser indholdet i tabellerne så viser den godtnok æø og å som de
skal være! Men når de kommer ud på siden vises f.eks øl som rl !!!

Det er jo ikke fair over for denne drik! ? Er der nogle "regional settings"
i PHP som jeg har overset? Og burde det ikke være ligemeget når jeg har
ovenstående i headeren?

---------

Lars Axberg
Hmmm.... It's a strange world!



Lars Dybdahl (17-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 17-01-03 10:18

Hvilket tegnsæt kører du i din Linux? Bruger du Red Hat 8.0 med standard
opsætning? I så fald er tegnsættet ikke iso 8859-1, men utf-8... det ville
forklare en del. Selve php har ikke nogen sprogopsætning, men det har
webserveren, idet den bruger maskinens standardtegnsæt.

Vær også opmærksom på, at webserveren sender et tegnsæt ud over det, du
skriver inde i html-koden. Hvis du ikke bryder dig om webserveren
opsætning, så sæt denne header selv:

Header ("Content-Type: text/html; charset=utf-8");

Eller iso-88591-1, hvis det er det, du vil sende. Jeg vil kraftigt anbefale,
at du bruger samme tegnsæt over det hele, samt at du bruger
htmlspecialchars() i stedet for htmlentities(). På den måde vil din
webløsning køre iso8859-1 på nogle computere og utf-8 på andre. utf-8 er i
øvrigt ret fedt, f.eks. kan man skrive 5 ohm med rigtigt ohm-tegn: 5 Ω, du
kan citere fransk, russisk, græsk osv. med alle deres tegn: "sœur",
"Текущая", "εφημερί" og man kan også diskutere DOS ting med DOS tegn:
"╁╂╃╄╅╆╇╈░▒▓". Ikke at et forum har brug for det, men hvis det skal bruges
international, så er det da fedt, når det bare virker.

Lars.








Lars Axberg wrote:
> Desværre ikke en URL endnu, men sagen er den, at jeg har tilføjet <meta
> http-equiv="content-type" content="text/html"; charset="ISO-8859-1"> i min
> html header og det burde jo resultere i dk tegn ikke? NÃ¥r jeg kigger i
> PHPmyAdmin og ser indholdet i tabellerne så viser den godtnok æø og å som
> de skal være! Men når de kommer ud på siden vises f.eks øl som rl !!!
>
> Det er jo ikke fair over for denne drik! ? Er der nogle "regional
> settings" i PHP som jeg har overset? Og burde det ikke være ligemeget når
> jeg har ovenstående i headeren?
>
> ---------
>
> Lars Axberg
> Hmmm.... It's a strange world!

--
Freelance programmør
Programmering mod timebetaling

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste