Karakter problemi

0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
128
Tepki puanı
0
Merhaba arkadaşlar utf8_unicode_ci olan bir veritabanım var.SQLi phpmyadminden import ettiğimde karakter problemi olmuyor.Ama kendi yazdığım sql import scriptinde import edilirken TR karakterler hatalı görünüyor.Sizce scriptte nasıl bir düzenleme yapmayalıyım?Sabahtan beri sorunu çözemedim.

Cevaplarınızı bekliyorum.
@cortes
 
0
Onaylı Üye
Üye
Katılım
26 Mayıs 2008
Mesajlar
584
Tepki puanı
0
sqlu yuklerken latin5 ile yuklemeyi dene,, eminim duzelecektir.
 
0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
128
Tepki puanı
0
Latin5de de problem var latin5 turkish i seçiyorum Türkçe karakterleti ? olarak kaydediyor.utf de bu problem yok ama onda da yukarıda bahsettiğim problem var.Anlamadım gitti..
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
vertabanına bağlantı yaptığınız bölüme aşağıdaki kodu ekleyip bir dener misiniz ?

PHP:
mysql_query("SET NAMES 'latin5'");    
mysql_query("SET CHARACTER SET 'latin5'");    
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
 
0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
128
Tepki puanı
0
Hocam problemi buldum sadece çözmesi kaldı:)
problem
utf8_unicode_ci de Ý karakterinin PHPMyadminden sql çıktısı Ý şeklinde fakat import ederken phpmyadmin yine aynı şekilde algılayıp import ediyor ve sitede İ karakteri görünüyor bende ise &#221 karakteri olarak import ettiği için yani ansi kodunda ondan dolayı sitede İ yerine Ý şeklinde görünüyor.Bunu replace yöntemiyle yapmak çok uzun sürecektir çünkü kimbilir hangi karakterleri nasıl görüyordur.Bunun basit yöntemini bilen arkadaşlar varmı acaba??
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
Bu aşağıdaki işlem galiba sorunuza çözüm oluşturur...

PHP:
<?
function cevir ($url,$to="windows-1254",$from="utf8") {
   if($to=="windows-1254" && $from=="utf8"){
       $str_array = array(
       chr(196).chr(177) => chr(253),
       chr(196).chr(176) => chr(221),
       chr(195).chr(182) => chr(246),
       chr(195).chr(150) => chr(214),
       chr(195).chr(167) => chr(231),
       chr(195).chr(135) => chr(199),
       chr(197).chr(159) => chr(254),
       chr(197).chr(158) => chr(222),
       chr(196).chr(159) => chr(240),
       chr(196).chr(158) => chr(208),
       chr(195).chr(188) => chr(252),
       chr(195).chr(156) => chr(220)
       );
       return str_replace(array_keys($str_array), array_values($str_array), $url);

   }
   return $url;
}  ?>
 
0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
128
Tepki puanı
0
Saol hocam kodu aspye çevirip deneyeceğim fakat
chr(196).chr(177) => chr(253),
return str_replace(array_keys($str_array), array_values($str_array), $url);
return $url;

buralardaki işlemleri anlamadım:)
 
0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
128
Tepki puanı
0
Sanırım chr(196).chr(177) => chr(253), bunun anlamı ı=ı bu değilmi? :) ama
return str_replace(array_keys($str_array), array_values($str_array), $url);
return $url;
bunları hala anlamış değilim :) neyse sanırım replace yöntemiyle yapıcaz bunu :) Umarım doğru gidiyorumdur :)
 
0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
128
Tepki puanı
0
Hocam bunu aspye çevirdim fakat etkisi olmadı.İstediğim şey &#221 ; karakterleri aslında Ý karakteridir.Bunu veritabanına Ý şeklinde kaydetmek istiyorum fakat nedense &#221 ; şeklinde kaydoluyor.Yani unicode setinde kayıt etmek istiyorum fakat ansi setinde kayıt oluyor.
&#221 ; = Ý

Yardımcı olurmusunuz?Converter veya başka bir fikir aklıma artık birşey gelmiyor yaklaşık 10 saattir bununla uğraşıyorum..
 
0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
128
Tepki puanı
0
Ne kadar flood olsada artık kusura bakmayın çünkü sonunda çözdüm.@yagmayok fikrinden biraz (ç)alıntı yapsamda birazda kendim katarak sorunu çözdüm :)


Ansi To Unicode Converter :)
function cevir(karakter)

karakter=Replace(karakter,"ý",Chr(253))
karakter=Replace(karakter,"ð", Chr(240))
karakter=Replace(karakter,"Ý", Chr(221))
karakter=Replace(karakter,"Ð", Chr(208))
karakter=Replace(karakter,"Þ", Chr(253))
karakter=Replace(karakter,"þ", Chr(254))
cevir=karakter
end function

Kullanımı:
cevir(degisken) veya cevir("metin")

:)

Cümleten herkese kolay gelsin.Yardımlarınız içinde size ayrıca teşekkür ederim arkadaşlar..
 
Geri
Üst