• 24-12-2007, 14:39:33
    #1
    Arkadaşlar elimde bir script var. Saatlerdir karakter sorununu çözmeye çalışıyorum. Sorun şu: veritabanına veri girildikten sonra türkçe karakterleri, verilerin girildiği yerde değiştiriyor ancak sitede düzgün gözüküyor. İkinci sefer değişiklik yapmadan değişen karakterlerle tekrar submit yaptığımızda karakterler daha değişik bir hal alıyor ama sitede gözüken türkçe karakterlerde bir sorun yine yok. Üçüncü defa aynı yerden devam edip submit yaptığımızda karakterler bu sefer daha değişik bir hal alıyor ve hemn verilerin girildiği paneldeki textareada karakterler bozuk çıkıyor hem de sitede "ı,ş,ğ" gibi karakterler bozuk çıkıyor.

    Sayfanın meta taglarını iso8858-9 olarak ayarladım,
    UTF olarak ayarladım,
    Veritabanındaki verileri export edip tüm tablo başlıklarını tek tek latin1 - latin5 ve UTF olarak replace yapıp tekrar import ettim. Import ederken karakter eşlemini yine karakterleri hangi dilde kodladıysam ettiğim şekilde import ettim. ama şu karakterleri düzeltemedim.

    Kullandığım script ArticleMS; ve bu script için birsürü arama yaptım. Birçok kişi bu sorundan şikayetçi ama şimdiye kadar çözüme ulaşan yok.

    Ne yapabiliriz?
  • 24-12-2007, 14:43:19
    #2
    bunu denedinmi, birde bunu denerken 8859-9 u kullanmadan dene..
    Alıntı
    <META http-equiv=Content-Type content="text/html; charset=windows-1254">
  • 24-12-2007, 15:06:28
    #3
    benikaydet adlı üyeden alıntı: mesajı görüntüle
    bunu denedinmi, birde bunu denerken 8859-9 u kullanmadan dene..
    denedim malesef olmadı. tagların hepsini denedim.

    ama şöyle bir sorun var. verileri girdikten sonra karakterleri neden her submit edişimde bir öncekisinden farklı çıkarıyor? sorun veritabanında olmalı
  • 24-12-2007, 15:44:13
    #4
    arkadşalar ilk defa bu kadar ısrarcıyım. bu sorunu daha önceden yaşamış ve çözmüş olan birileri varsa nasıl yaptıklarını paylaşsın. Saatlerdir denemediğim şey kalmadı desem de siz birşeyler atın ortaya. scriptim articlems ve bu sorun çok sık yaşanıyor; mutlka çözen vardır.
  • 04-01-2008, 02:23:30
    #5
    teşekkürler
  • 04-01-2008, 02:29:13
    #6
    Üyeliği durduruldu
    databasenin karakter seti ile uğraş
  • 05-01-2008, 03:57:55
    #7
    onlinemusti adlı üyeden alıntı: mesajı görüntüle
    teşekkürler
    -kd-
    güzel post kasıyosun devamını bekliyoruz senden

    https://www.r10.net/search.php?searchid=2838897
    -kd-
  • 05-01-2008, 16:01:34
    #8
    Bende bunun değişik bir sorununu yaşıyorum.

    yazdığım scriptte, panelden textarea ile ekleme yapıyorsun. türkçe karakterler phpmyadmin den bakıldığından bozuk gözüküyor, ama sitede bu girilen verilerde bütün türkçe karakterler düzgün gözüküyor. benim için buraya kadar sorun yok ama sorun bundan sonra başlıyor. sitede url rewrite kullanıyorum yani linklerde türkçe karakterleri göstermemeliyim. ı ları i, ş leri s olarak göstermeliyim. mysql den veriyi çekip bir degisken olarak atıyorum.

    $degisken = ereg_replace("ş","s",$degisken);

    kodunu kullanıyorum ama değişkenin içinde ş olmasına karşın s olarak değişmiyor...
    sorun nerde hala anlamış değilim, mysql e kaydedilirken değiştirilmesi sanırım.
    çözüm bulmak lazım buna :S
  • 06-01-2008, 09:36:44
    #9
    Db ye kayıt ederken sayfanızın karakter setiyle db seti bağlantı seti aynı olursa hiçbir sıkıntı yaşamassınız.

    Mesela sayfa
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    Db bağlantı
    mysql_query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");

    Ve PHPymadmin vb. karşılaştırma utf8_unicode_ci

    olursa karakterlerde , yazdırırken ,karakter işlemleri yaparken vs sorun yaşamassınız. Ama bir parcası eksik olursa sorun kaçınılmaz.


    UTF8 sadece bir ornek LATIN5 vb de olabilir ama tüm site yapısı aynı karakter setiyle oluşturulmalıdır

    Ayrıca d3x

    $degisken = str_replace("ş","s",$degisken); buradaki ş db de nasıl kayıtlıysa yani bozuk haliyle aynı olmalı Explorer karakteri düzgün verebilir ama "ş" olarak ona php işlem yapmaz. birde öyle dene db de ş nasıl kayıtlıysa replace o şekilde ekle