PHP Türkçe Yerel ile Harf Büyütme

Başlatan maydin95, 19 Şubat 2012 - 22:06:24

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

maydin95

Merhabalar,

PHP sayfasında
<?php setlocale(LC_ALL'tr_TR.UTF-8'); ?>
kullansam da "strtoupper()" gibi işlevler düzgün çalışmıyor ancak "strftime()" işlevi düzgün çalışıyor. strftime'ın da çalışması için sadece "tr_TR.UTF-8" yazmak gerekiyor. "turkish" gibi parametreleri kabul etmiyor maalesef.

Bu sorun http://netvar.net/php/setlocale-turkce-hatasi sayfasında da sorulmuş ve çözüm de verilmiş ancak benim Ubuntu 10.10 sistemimde strtoupper çalışmadı. Diğerleri çalışıyor.

Arkadaş şu kodu vermiş sorunun çözümü için ama olmadı:
<?php
header
('Content-type: text/html; charset=utf-8');
 
// http://bugs.php.net/bug.php?id=35050
// http://www.topolis.lt/php/#35050
setlocale(LC_ALL'tr_TR.utf-8');
setlocale(LC_CTYPE'C'); // character classification and conversion, for example strtoupper()
 
/* class test */
class foo
{
    function 
IsHere()
    {
        echo 
'here<br />';
    }
}
$f = new foo();
$f->IsHere();
 
/* strtolower test */
$text 'I18n';
$text strtolower($text);
echo 
$text '<br />';
 
/* date test */
// http://php.net/manual/en/function.strftime.php
echo strftime('%d %B %Y, %A'time()) . '<br />';
 
/* array sort test */
$array = array('Ali','Şule','Ömer','Çetin''Ilgaz''ılgaz');
sort($arraySORT_LOCALE_STRING);
echo 
'<pre>';
print_r($array);
asort($arraySORT_LOCALE_STRING);
print_r($array);
echo 
'<br />';
 
/* Test numeric formatting */
print_r(localeconv());
 
?>
Din; ilimle birleşirse nefaset, cehaletle birleşirse rezalet, siyasetle birleşirse de felaket olur.

alquirel

#1
Ben bu tür sorunlar için şimdiye kadar hep kendi fonksiyonumu yazma şeklinde çözüm yoluna gittim.
Kendi yazacağınız fonksiyonda str_replace fonksiyonuyla Türkçe olan harfleri siz büyütürsünüz, kalanını da strtoupper ile büyütürsünüz.
Aynısını tersten bir de küçültme için yapabilirsiniz.

Tabii ki bu, bahsedilen sorunun çözümü olarak değil, sizi ulaşmak istediğiniz amacınıza götüren bir alternatif olarak değerlendirilmeli.

maydin95

Bir çözüm bulamazsam mecbur onu yaparım. Aslında belki daha da iyi olabilir. Kendi işlevinden daha güzel ne var işlevli. ;)
Din; ilimle birleşirse nefaset, cehaletle birleşirse rezalet, siyasetle birleşirse de felaket olur.