CSS: text-transform Türkçe karakter sorunu çözümü

Sitenizin sit dosyasındda text-transform:uppercase; kullanıyorsanız ama Türkçe karakterlerde sorun yaşıyorsanız aşağıdaki kod sorunu çözecektir.

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-3">
</head>
<body>
<div style="text-transform:uppercase">a b c ç d e f g ğ h ı i j k l m n o ö p r s ş t u ü v y z (source)</div> <div>A B C Ç D E F G Ğ H I İ J K L M N O Ö P R S Ş T U Ü V Y Z (should be like this)</div>

<script>
    function getStyle(element, style) {
        var result;

        if (document.defaultView && document.defaultView.getComputedStyle) {
            result = document.defaultView.getComputedStyle(element, '').getPropertyValue(style);
        } else if(element.currentStyle) {
            style = style.replace(/\-(\w)/g, function (strMatch, p1) {
                return p1.toUpperCase();
            });
            result = element.currentStyle[style];
        }
        return result;
    }

    function replaceRecursive(element) {
        if (element && element.style && getStyle(element, 'text-transform') == 'uppercase') {
            element.innerHTML = element.innerHTML.replace(/ı/g, 'I');
            element.innerHTML = element.innerHTML.replace(/i/g, 'İ');    // replaces 'i' in tags too, regular expression should be extended if necessary
        }

        if (!element.childNodes || element.childNodes.length == 0) return;

        for (var n in element.childNodes) {
            replaceRecursive(element.childNodes[n]);
        }
    }

    window.onload = function() {    // as appropriate 'ondomready'
        alert('ÖNCE...');
        replaceRecursive(document.getElementsByTagName('body')[0]);
        alert('...SONRA');
    }
</script>

</body>
</html>

4 yorum

  1. Hocam gerçekten bu kadar uğraşmaya gerek yokmuş. Sonunda çözümü buldum.

    Çözüm;

    ” <hmtl " etiketinin hemen ardına (lang="tr") ekledikten sonra bir şey kalmıyor. Site direk komple Türkçeleşiyor.

    Kısaca "<html lang="tr" ve devamı diğer kodlar. O kadar uğraşmaya gerek yok. İsteyen portaladam.com adresinden bakabilir.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.