• 02-03-2015, 10:55:42
    #1
    Merhabalar,

    Bir projemde kişi bilgilerini ayrı bir sistemden çekiyorum.
    Yalnız bu sisteme üye olan kişiler isimlerindeki Türkçe karakterlerde sorun yaşıyorlar.
    Bu Türkçe karakter sorununu çözmek için yardım edebilirseniz sevinirim.


    Örnek olarak bazı üyelerin bilgileri;
    http://api.vateud.net/members/id/1130653.xml
    http://api.vateud.net/members/id/1207432.xml
    http://api.vateud.net/members/id/1093952.xml

    Önce utf8_decode denedim ancak tek başına harf varsa bunu düzeltiyor ancak daha fazlasını yapamıyor.

    Yi�itcan => Yiğitcan
    GöKhan => Gökhan
    YıLdıRıM => Yıldırım

    Bu isimleri nasıl düzeltebilirim, yardım edebilirseniz sevinirim.

    NOT: Kayıtların bulunduğu sistemde düzeltme yetkim yok yalnızca değer okuyabiliyoruz.

    Teşekkürler,
  • 02-03-2015, 11:05:31
    #2
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Bir projemde kişi bilgilerini ayrı bir sistemden çekiyorum.
    Yalnız bu sisteme üye olan kişiler isimlerindeki Türkçe karakterlerde sorun yaşıyorlar.
    Bu Türkçe karakter sorununu çözmek için yardım edebilirseniz sevinirim.


    Örnek olarak bazı üyelerin bilgileri;
    http://api.vateud.net/members/id/1130653.xml
    http://api.vateud.net/members/id/1207432.xml
    http://api.vateud.net/members/id/1093952.xml

    Önce utf8_decode denedim ancak tek başına harf varsa bunu düzeltiyor ancak daha fazlasını yapamıyor.

    Yi�itcan => Yiğitcan
    GöKhan => Gökhan
    YıLdıRıM => Yıldırım

    Bu isimleri nasıl düzeltebilirim, yardım edebilirseniz sevinirim.

    NOT: Kayıtların bulunduğu sistemde düzeltme yetkim yok yalnızca değer okuyabiliyoruz.

    Teşekkürler,
    mb_convert_encoding() kullana bilirsiniz.
  • 02-03-2015, 11:19:36
    #3
    "iconv" kullanabilirsiniz

    Sent from my GT-I9200 using Tapatalk
  • 02-03-2015, 11:30:56
    #4
    ismailbayhan adlı üyeden alıntı: mesajı görüntüle
    mb_convert_encoding() kullana bilirsiniz.
    mb_convert_encoding() ile denedim ancak çeviremedim.


    mtl adlı üyeden alıntı: mesajı görüntüle
    "iconv" kullanabilirsiniz

    Sent from my GT-I9200 using Tapatalk
    iconv hiç kullanmadım, yapısına baktım az önce ancak bu duruma nasıl uyarlarım onu bilemedim.
  • 02-03-2015, 11:37:51
    #5
    Misafir adlı üyeden alıntı: mesajı görüntüle
    mb_convert_encoding() ile denedim ancak çeviremedim.




    iconv hiç kullanmadım, yapısına baktım az önce ancak bu duruma nasıl uyarlarım onu bilemedim.
    Php.net te de belirtildigi gibi;
     string iconv ( string $kodlamadan , string $kodlamaya , string $dizge )
    Şunu deneyin:
    iconv("UTF-8", "ISO-8859-9", $text);
    Sent from my GT-I9200 using Tapatalk
  • 02-03-2015, 12:20:59
    #6
    mtl adlı üyeden alıntı: mesajı görüntüle
    Php.net te de belirtildigi gibi;
     string iconv ( string $kodlamadan , string $kodlamaya , string $dizge )
    Şunu deneyin:
    iconv("UTF-8", "ISO-8859-9", $text);
    Sent from my GT-I9200 using Tapatalk
    $text="Yi�itcan";
    
    echo iconv("UTF-8", "ISO-8859-9", $text);
    Ekran çıktısı

    Yi�itcan
  • 02-03-2015, 12:26:10
    #7
    Misafir adlı üyeden alıntı: mesajı görüntüle
    $text="Yi�itcan";
    
    echo iconv("UTF-8", "ISO-8859-9", $text);
    Ekran çıktısı

    Yi�itcan
    Fonksiyonun calisma seklini incelediniz mi? Biraz inceleyin sizin esas stringiniz utf-8 degilse yazdigim fonksiyon bozuk cikti verir. Siz kendi kodlamaniza uygun karakter kümenizi yazacaksiniz. Muhtemelen iconv ile hallocaktir sorununuz.

    Sent from my GT-I9200 using Tapatalk
  • 02-03-2015, 16:49:42
    #8
    Misafir; probleminiz üzerine iconv ile bende baya bir deneme yaptım ama sonuç başarısız.

    Pek profesyonel bir yöntem olmasa da şu an için en hızlı ve pratik yol sanırsam str_replace. aşağıdaki şekilde deneme yaptım sonuç olumlu. Bütün türkçe karakterlerin (büyük küçük harf ayrı ayrı) bozuk hallerini bulacaksınız str_replace ile değiştirdikten sonra işlem yapacaksınız.

    $text="Yi�itcan"; 
    
    echo str_replace('�', 'ğ', $text);
    //sonuç yiğitcan
  • 02-03-2015, 17:14:00
    #9
    Üyeliği durduruldu
    bu şekilde çevirmeniz mümkün değil bu yüzden utf8 in gözünü seveyim işte karşıdaki adam utf 8 yapsaydı bunlar olmayacaktı...

    netice bi üstteki msj da olduğu gibi türçe karakterlerin bozuk hallerini tek tek tespit edip replace etmelisiniz.