»Forumlar »D?k?manlar »Mysql ile Türkçe Karakter Uyumlu Fonksiyon Yaratmak
  https://seditio.com.tr/eski1/forums.php?m=posts&q=1294
          Geri Dön      -      Sayfayı Yazdırmak için tıklayın
Author: Kaan, Posted: 2011-02-28 22:42 GMT.
Mysql ile T?rk?e Karakter Uyumlu Fonksiyon Yaratmak

Mysql 5.0 versiyonuyla birlikte gelen ek ?zelliklerden biri de veritaban? fonksiyonu yaratabilmek. Uzun sorgular? biraz olsun k?saltabilmek bu sayede m?mk?n. T?rk?e karakter uyumlu bir Mysql fonksiyonu yaratal?m . Basit bir ?rnekle Mysql fonksiyonlar?na giri? yapaca??z.

Haber ba?l?klar?n? k???k harflere d?n??t?rmek ve aralar?na tire (-) koymak istedimizi farz edelim. Mesela a?a??daki haber ba?l??? ?u formata d?n??s?n.:

Bu Bir haber Ba?l???d?r = > bu-bir-haber-ba?l???d?r

Bu i?i yapacak fonksiyonu Mysql veritaban?nda olu?turmak i?in bir sorgu pencerisi a??p a?a??daki Sql kodunu yazal?m (PhpMyadmin kullananlar i?in Sorgu sekmesine t?klay?n):
Kod:
-- nokatl? virg?l (;) hatas?ndan kurtulmak i?in bir ay?ra? (delimeter) tan?ml?yoruz
DELIMITER |

CREATE FUNCTION to_link_title(title VARCHAR(30))
RETURNS varchar(30) CHARSET utf8
BEGIN
  RETURN REPLACE( LOWER( TRIM(title) ) ,' ','-');
END|

DELIMITER ; -- Ay?ra? tan?m?n? eski haline getiriyoruz.

Yaratt???m?z bu fonksiyonu test edelim:
Kod:
select  to_link_title ( 'Bu Bir haber Ba?l???d?r')


Mysql fonksiyonuna CHARSET utf8 yordam?n? ekleyerek t?rke karakter uyumlu yapm?? olduk.

?rnekte fonksiyon i?inde birka? standart Mysql fonksiyonlar?n? ( TRIM(),REPLACE() ) kulland?k. Kendi fonksiyonunuzu yazarken bu ?ekilde zincirleme fonksiyon ?a??rabilirsiniz.

Powered by SeditioPrint version