Php ile küçük harfleri büyük harflere çevirme (Türkçe)

Loi

Müptela
Katılım
13 Kas 2006
Mesajlar
6,194
Beğeniler
43
Konum
localhost
#1
Normalde strtoupper() fonksiyonu ile küçük harfleri büyük harflere çevirmek mümkünken, Türkçe karakterlerde sorun çıkmaktadır. Aşağıdaki fonksiyon ile bu sorunuda giderebilmektesiniz.

PHP:
function strtoupper_tr($veri) {
	$kh=array('ı','i','ş','ö','ğ','ç','ü');
	$bh=array('I','İ','Ş','Ö','Ğ','Ç','Ü');
	$veri=str_replace($kh,$bh,$veri);
	$veri = strtoupper($veri);
	return $veri;
}
 

selim61

Onaylı Üye
Katılım
10 May 2006
Mesajlar
5,293
Beğeniler
13
Konum
<?=selim61?>
#3
Bu verdiğiniz fonksiyonla bilahare utf8 ve diğer bazı karakter setlerinde sorun yaşayabilirsiniz. Aşmak için iconv kullanarak giderebilirsiniz, sadece türkçe karakterler için değil diğer karakterler içinde önce iconv sonra strtoupper yada strtolower kullanmakta fayda var.
Ör string içinde '€' simgesi var, küçült bakalım?
PHP:
<?php
$text = "Bu bir Euro simgesidir: '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

/*
Original : Bu bir Euro simgesidir: '€'.
TRANSLIT : Bu bir Euro simgesidir: 'EUR'.
IGNORE   : Bu bir Euro simgesidir: ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7
This is the Euro symbol '
*/
?>
 

Loi

Müptela
Katılım
13 Kas 2006
Mesajlar
6,194
Beğeniler
43
Konum
localhost
#4
Hemen deneyelim.

Ekleme: Sıkıntı oluşmadı ama dikkate almakta fayda var tabi.
Teşekkürler Selim ;)
 

gemius

Profesyonel
Katılım
14 Kas 2010
Mesajlar
263
Beğeniler
1
Yaş
32
#5
CSS'te de böyle bir olay mevcut. uppercase ve lowercase kodlarını araştırırsanız ilgili dökümanlara ulaşabilirsiniz. Arkadaşlara da paylaşım için teşekkürler.
 

Loi

Müptela
Katılım
13 Kas 2006
Mesajlar
6,194
Beğeniler
43
Konum
localhost
#6
CSS'te de böyle bir olay mevcut. uppercase ve lowercase kodlarını araştırırsanız ilgili dökümanlara ulaşabilirsiniz. Arkadaşlara da paylaşım için teşekkürler.
Evet araştırma yaparken bununlada karşılaşmıştım, hatırlattığınız için teşekkürler ancak girilen bilgiler veritabanına işleneneceğinden, bir standart oluşturmak gerekiyor. Bu sebeple CSS işimi görmemişti ancak bunu paylaşmakta da tabiki fayda var.
 

Bu konuyu okuyanlar (Üyeler: 1, Misafirler: 0)

Üst