Article View: dk.edb.internet.webdesign.serverside
Article #419Re: æ ø å igen igen (PHP)
From: scootergrisen
Date: Thu, 14 Oct 2010 23:15
Date: Thu, 14 Oct 2010 23:15
54 lines
3359 bytes
3359 bytes
Det fordi a er 1 byte og � er 2 byte i UTF8 s� vidt jeg husker.
Mange funktioner i PHP betragter 1 byte som 1 tegn og n�r der s� kommer
et � som er p� 2 byte s� fucker den tegnet op fordi den fjernet
halvdelen af tegnet ogs� bliver det til et helt andet tegn.
Der findes en masse funktioner som starter med mb_
mb st�r for multibyte og dem kan du unders�ge.
Du kan k�re phpinfo() og se om du har mbstring extension installeret.
Der findes ikke nogen mb_str_replace() indbygget i php men jeg fandt
denne her funktion som du kan pr�ve :
function mb_str_replace($needle, $replacement, $haystack)
{
$needle_len = mb_strlen($needle);
$replacement_len = mb_strlen($replacement);
$pos = mb_strpos($haystack, $needle);
while ($pos !== false)
{
$haystack = mb_substr($haystack, 0, $pos) . $replacement
. mb_substr($haystack, $pos + $needle_len);
$pos = mb_strpos($haystack, $needle, $pos + $replacement_len);
}
return $haystack;
}
Du skal muligvis s�tte mb_internal_encoding("UTF-8"); f�r du bruger
funktionen for at s�tte den til det format din fil er gemt i.
Den 14-10-2010 18:10, Dude skrev:
> K�re alle!
>
> Jeg har b�vlet med � � � ad flere omgange, men nu er jeg desv�rre n�dt
> til at sp�rge endnu engang.
>
> Via en <form> sendes en streng som kan indeholde � � �, - og tegn fra
> andre sprog ogs�, i�vrigt! (� � osv)
>
> Jeg vil gerne overs�tte tegnene, feks � -> æ
>
> Det troede jeg jo s� jeg kunne g�re med str_replace()
> men af en eller anden grund, s� genkender funktionen ikke � � �?!
>
> Hvis jeg beder den om at erstatte f.eks tegnet e -> æ s� fungerer
> det fint, hvis bogstavet e findes i strengen.
>
> Men beder jeg om at f� erstattet tegnet � -> æ sker der intet...
>
> Det er jo nok noget med definition af sprog og tegns�t p� serveren...
> eller noget.... men nogen der ved hvad det er jeg skal l�re?
>
> Mvh
> John
Technical Details
Message-ID:
<4cb78f59$0$23752$14726298@news.sunsite.dk>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!feeder.news-service.com!xlned.com!feeder7.xlned.com!news2.euro.net!newsfeed.freenet.ag!news.netcologne.de!ramfeed1.netcologne.de!news.tele.dk!feed118.news.tele.dk!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mailReferences:
<4cb72b69$0$56783$edfadb0f@dtext02.news.tele.dk>Show Full Headers
Complete Article Headers
X-Google-Thread: 855c6d7664,d3c9a7a2b520b986 X-Google-Attributes: gid855c6d7664,public,usenet X-Google-NewGroupId: yes X-Google-Language: DANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!feeder.news-service.com!xlned.com!feeder7.xlned.com!news2.euro.net!newsfeed.freenet.ag!news.netcologne.de!ramfeed1.netcologne.de!news.tele.dk!feed118.news.tele.dk!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail Date: Fri, 15 Oct 2010 01:15:36 +0200 From: scootergrisen <scootergrisen@gmail.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; da; rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3 MIME-Version: 1.0 Newsgroups: dk.edb.internet.webdesign.serverside Subject: Re: æ ø å igen igen (PHP) References: <4cb72b69$0$56783$edfadb0f@dtext02.news.tele.dk> In-Reply-To: <4cb72b69$0$56783$edfadb0f@dtext02.news.tele.dk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Lines: 54 Message-ID: <4cb78f59$0$23752$14726298@news.sunsite.dk> Organization: SunSITE.dk - Supporting Open source NNTP-Posting-Host: 94.144.63.7 X-Trace: news.sunsite.dk DXC=hH\gCNAKY;WjXN@]UnT6J_YSB=nbEKnk[5DMU8coHF@\hA^?B1@4P3YL3G]D9JXnOW]CDY[=VZ7PSa\5F6:M_XAP>N0;HPGDDbR_>@TPG=BiQW X-Complaints-To: staff@sunsite.dk