/ 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
Strtolower med æ, ø og å
Fra : Bo Kamp Dudek


Dato : 18-10-06 12:39

Hey

<? echo strtolower('HILLERØD'); ?>

- giver mig 'hillerØd' i hovedet. Wannafind, som står for hosting,
forklarer, at det kun kan afhjælpes ved at installere multibyte, og det vil
de ikke være med til.

Jeg aner ikke, hvad de fabler om, men inden jeg i stedet begynder at hacke
mig ud af det, kan nogen så finde en enklere løsning?

--
Mvh
Bo Kamp Dudek
www.bodudek.dk

Danmarks nye slankeportal
-----------------------------
W. www.slankogrask.dk
E. info@slankogrask.dk
-----------------------------

 
 
Kim Ludvigsen (18-10-2006)
Kommentar
Fra : Kim Ludvigsen


Dato : 18-10-06 13:19

Den 18-10-06 13.39 skrev Bo Kamp Dudek følgende:

> - giver mig 'hillerØd' i hovedet. Wannafind, som står for hosting,
> forklarer, at det kun kan afhjælpes ved at installere multibyte, og det vil
> de ikke være med til.
>
> Jeg aner ikke, hvad de fabler om, men inden jeg i stedet begynder at hacke
> mig ud af det, kan nogen så finde en enklere løsning?

Jeg ved ikke, om der er noget simplere, men om ikke andet kan du
udskifte "Ø" med "ø" osv. i dine strenge:
$find[] = 'Æ';
$find[] = 'Ø';
$find[] = 'Å';
$replace[] = 'æ';
$replace[] = 'ø';
$replace[] = 'å';
$dinstreng = str_replace($find, $replace, $dinstreng);

--
Mvh. Kim Ludvigsen
Algoritme: Matematisk udtryk for en talrække, der kan siges med rytme...
http://ordforklaring.dk/ordforklaring.php?forklaring=algoritme








Peter Brodersen (18-10-2006)
Kommentar
Fra : Peter Brodersen


Dato : 18-10-06 13:49

On Wed, 18 Oct 2006 13:39:11 +0200, Bo Kamp Dudek
<bo@familiendudek.dk> wrote:

><? echo strtolower('HILLERØD'); ?>
>
>- giver mig 'hillerØd' i hovedet. Wannafind, som står for hosting,
>forklarer, at det kun kan afhjælpes ved at installere multibyte, og det vil
>de ikke være med til.

I det her tilfælde ævler personen hos Wannafind. Omvendt set er det
(normalt) ikke noget, der har noget med webhotellet at gøre.

Det kan let løses ved at man angiver over for PHP, hvilken locale, man
benytter.

Tjek fx:
http://stock.ter.dk/hillerod.php

<?php
echo strtolower("HILLERØD ");
setlocale(LC_CTYPE,'da_DK');
echo strtolower("HILLERØD ");
?>

Her vises "hillerød", efter vi har ændret locale til da_DK. Du kan
læse mere om setlocale-funktionen på:
http://php.net/setlocale

Multibyte kommer slet ikke ind i billedet her. Der er ikke tale om
UTF-8-data eller deslige.

Der kan være tilfælde, hvor 'da_DK' ikke giver nogen effekt. Her
afhænger det rigtigt nok af hvilke locales, der i første omgang er
installeret på serveren.

>Jeg aner ikke, hvad de fabler om, men inden jeg i stedet begynder at hacke
>mig ud af det, kan nogen så finde en enklere løsning?

Man kan selv lave sin egen søg&erstat, men det bliver typisk noget
klamp.
--
- Peter Brodersen
Kendt fra Internet

Bo Kamp Dudek (18-10-2006)
Kommentar
Fra : Bo Kamp Dudek


Dato : 18-10-06 16:30

[...]

> <?php
> echo strtolower("HILLERØD ");
> setlocale(LC_CTYPE,'da_DK');
> echo strtolower("HILLERØD ");
> ?>

Kim, det var da helt fantastisk! Tusinde tak - det løste problemet!

Mvh
Bo Dudek
www.familiendudek.dk

Dennis Munding (19-10-2006)
Kommentar
Fra : Dennis Munding


Dato : 19-10-06 09:08

Hej Peter!

Peter Brodersen skriblede...:
> I det her tilfælde ævler personen hos Wannafind. Omvendt set er det
> (normalt) ikke noget, der har noget med webhotellet at gøre.

Er der mon et vrøvlehoved mere her....?

> Det kan let løses ved at man angiver over for PHP, hvilken locale, man
> benytter.
>
> Tjek fx:
> http://stock.ter.dk/hillerod.php
>
> <?php
> echo strtolower("HILLERØD ");
> setlocale(LC_CTYPE,'da_DK');
> echo strtolower("HILLERØD ");
> ?>

Hvorfor ikke nøjes med:
<?php
echo strtolower("HILLERØD");
setlocale(LC_CTYPE,'da_DK');
?>

eller...

<?php
setlocale(LC_CTYPE,'da_DK');
echo strtolower("HILLERØD");
?>

....? Giver det samme hos mig: hillerød

Ja undskyld, at sådan en amatør som mig blander mig, men jeg er bare
nysgerrig - man kunne jo lære noget...

[SNIP]


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/ -Et sikkert valg, når der skal passes på dine
værdier!
http://munding-interieur.dk/ -Alt godt til hjemmet - lige midt på
Frederiksberg!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Kim Ludvigsen (19-10-2006)
Kommentar
Fra : Kim Ludvigsen


Dato : 19-10-06 09:50

Den 19-10-06 10.07 skrev Dennis Munding følgende:
> Peter Brodersen skriblede...:
>
> Er der mon et vrøvlehoved mere her....?

Nu er der vist...

>> <?php
>> echo strtolower("HILLERØD ");
>> setlocale(LC_CTYPE,'da_DK');
>> echo strtolower("HILLERØD ");
>> ?>
>
> Hvorfor ikke nøjes med:

Fordi Peters eksempel viser forskellen på før og efter, man har brugt
setlocale.

> echo strtolower("HILLERØD");
> setlocale(LC_CTYPE,'da_DK');
>
> eller...
>
> setlocale(LC_CTYPE,'da_DK');
> echo strtolower("HILLERØD");
>
> ...? Giver det samme hos mig: hillerød

Det giver det samme, fordi du ikke har et locale-problem. Du kunne lige
så godt have nøjes med:
> echo strtolower("HILLERØD");

Når Bo eller andre skal rette op på locale-problemer, skal de
selvfølgelig kun bruge:
setlocale(LC_CTYPE,'da_DK');
echo strtolower("HILLERØD");

> Ja undskyld, at sådan en amatør som mig blander mig, men jeg er bare
> nysgerrig - man kunne jo lære noget...

Jeg er også kun amatør, så jeg skal da ikke afvise, at jeg kan have
taget fejl i ovenstående.

--
Mvh. Kim Ludvigsen
Liden Tue kan vælte stort læs: Dansk verdensmester i brydning...
http://ordforklaring.dk/ordforklaring.php?forklaring=liden_tue_kan_vælte_stort_læs

Peter Brodersen (19-10-2006)
Kommentar
Fra : Peter Brodersen


Dato : 19-10-06 12:31

On Thu, 19 Oct 2006 10:07:48 +0200, "Dennis Munding" <mail@invalid.dk>
wrote:

>> I det her tilfælde ævler personen hos Wannafind. Omvendt set er det
>> (normalt) ikke noget, der har noget med webhotellet at gøre.
>Er der mon et vrøvlehoved mere her....?

"Hvad synes du selv?"

>> <?php
>> echo strtolower("HILLERØD ");
>> setlocale(LC_CTYPE,'da_DK');
>> echo strtolower("HILLERØD ");
>> ?>

Her prøver jeg pædagogisk at vise forskellen før og efter, man har sat
et passende locale.

><?php
>echo strtolower("HILLERØD");
>setlocale(LC_CTYPE,'da_DK');
>?>

Hvis ens locale ikke er passende (fx C-localet), så vil ovenstående
ikke gøre nogen forskel. Som sådan er det mest hensigtsmæssigt at
sætte locale i begyndelsen af sin kode.

><?php
>setlocale(LC_CTYPE,'da_DK');
>echo strtolower("HILLERØD");
>?>
>
>...? Giver det samme hos mig: hillerød

Hvis dit første eksempel virker, så gør setlocale ingen forskel for
dig - idet din opsætning i første omgang er hensigtsmæssig nok.

--
- Peter Brodersen
Kendt fra Internet

Dennis Munding (19-10-2006)
Kommentar
Fra : Dennis Munding


Dato : 19-10-06 14:42

Hej Kim og Peter!
"Peter Brodersen" <usenet2006@ter.dk> skrev i en meddelelse
news:eh7nlt$kr3$1@news.klen.dk...
> "Hvad synes du selv?"

Synes jeg vrøvler meget overbevisende... ;-p

> Her prøver jeg pædagogisk at vise forskellen før og efter, man har sat
> et passende locale.
>
>><?php
>>echo strtolower("HILLERØD");
>>setlocale(LC_CTYPE,'da_DK');
>>?>
>
> Hvis ens locale ikke er passende (fx C-localet), så vil ovenstående
> ikke gøre nogen forskel. Som sådan er det mest hensigtsmæssigt at
> sætte locale i begyndelsen af sin kode.
>
>><?php
>>setlocale(LC_CTYPE,'da_DK');
>>echo strtolower("HILLERØD");
>>?>
>>
>>...? Giver det samme hos mig: hillerød
>
> Hvis dit første eksempel virker, så gør setlocale ingen forskel for
> dig - idet din opsætning i første omgang er hensigtsmæssig nok.

Jamen så var det jo ikke helt skidt at være nysgerrig - så jeg igen noget
nyt!


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/ -Et sikkert valg, når der skal passes på dine
værdier!
http://munding-interieur.dk/ -Alt godt til hjemmet - lige midt på
Frederiksberg!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste