Yüklenen dosyalardaki Türkçe karakter problemi çözümü

Bilgiğim kadarıyla Internet Explorer haricinde bu Türkçe karakterli resim dosyası olayına takılan bir tarayıcı yok. WordPress içerisine yüklediğimiz dosyalardaki isimleri değiştirmemekte. IE her zamanki gibi bunda sorun çıkartmakta (IE10 test etmedim birşey diyemem) ve özellikle resimleri göstermemekte. Aşağıda size aktaracağım fonksiyon bu sorunu hallediyor ve dosya adında bulunan Türkçe karakterleri temizleyerek WordPress dizinine ekliyor.

Aşağıda iki adet resim var. Bunlar fonksiyonun öncesi ve sonrasını göstermek için eklediğim resimler.

Türkçe karakter çözümü;

Kod basit olarak str_replace fonksiyonuyla WordPress’in yükleme öncesi eklenen dosya isminde değişiklik yapmasını sağlıyor. Kodu her zamanki gibi temanızın functions.php dosyasına ekliyorsunuz.?> işaretinden hemen önce.

Aşağıdaki tüm kodlar temanızın functions.php dosyasında değişiklik yapılmasını gerektirmektedir. Bu dosya wp-content/themes/temanizin-adi/ yolunda bulunur. Lütfen bu dosyanın yedeğini alarak kodları uygulayınız
add_filter( 'wp_handle_upload_prefilter', 'dosya_tr_karakter_degistir' );   

function dosya_tr_karakter_degistir( $file )
{
	$bul 	 = array('İ','Ü','Ğ','Ö','Ç','Ş','ş','ç','ö','ğ','ü','ı');
	$degistir = array('I','U','G','O','C','S','s','c','o','g','u','i');
    $file['name'] = str_replace($bul,$degistir,$file['name']);
    
    return $file;
}

Sonucu aşağıdaki resimlerde ve kendi sitenizde deneyerek görebilirsiniz.
Selametle

1 thought on “Yüklenen dosyalardaki Türkçe karakter problemi çözümü”

  1. Ben de IE ile ilgili zannediyordum bu problemi ama sadece tarayıcı değil host ile ilgili de olabiliyor.

    Chrome üzerinde sorunsuz gözüken sitemi farklı bir host'a taşıdığımda Türkçe karakter içeren resimler gözükmemeye başladı.

    Host ayarlarında ne kadar esneklik tanındığı ile ilgili olsa gerek.

Comments are closed.