İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

UTF-8 karakter sorunu

annudora

0
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
Konum
@nkara
Veri çekerken UTF-8 olan siteden gelen veriler bozuluyor. Replace ile ş , ç , ı 'yı hallettim fakat İ ve Ğ - ğ düzeltilmiyor. Örneğin :

ı : ı
ç : ç
Ä° : İ - bu düzeltilemiyor.
Ğ� : Ğ - � işaretli yer düzeltilmiyor.

UTF-8 dönüşümü yani û gibi karakter değişimleri işe yaramıyor. Sadece yukarıdaki tarzda dönüştürme işe yarıyor fakat ondada � çıkan karakterler nasıl gösterilecek ona çare bulamadım.

Acaba bunu düzeltme imkanı varmıdır ?
 

fan

0
İyinet Üyesi
Katılım
4 Şubat 2007
Mesajlar
663
Reaction score
0
Konum
Nereye
mysql_query("SET NAMES 'utf8'");

ekle bağlantı kodlarının hemen altına.
 

annudora

0
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
Konum
@nkara
Veri çekerken demiştim sanırım eksik oldu. Başka sitelerden veri çekerken. Örneğin youtube - wikipedi ya da UTF-8 kodlanmış veya Türkçe kodlanmamış herhangi bir site.
Çekilen verileri dönüştürmek mümkünmü acaba bu tarz bi kodu uygun yere ekleyerek ? (kodlama PHP)

mysql_query("SET NAMES 'utf8'");
ekle bağlantı kodlarının hemen altına.
 

fan

0
İyinet Üyesi
Katılım
4 Şubat 2007
Mesajlar
663
Reaction score
0
Konum
Nereye
ben şöyle bişi kullanıyom youtubeden çekerken.

PHP:
	function char_norm($ready)
	{
		$bad   = array('ı','ü','Å?','ç','ö','Ä?','Å?ov','ÄŸ','ÅŸ','Ä°','Ä°','Åž','ä','"','.','é','é','ú','º','ã','ê','É',':','%','½','Ç','Ãœ','Ö');
		$good  = array('ı','ü','ş','c','ö','ğ','Şov','ğ','ş','İ','İ','Ş','a','','','e','e','u','','a','e','E','','','','Ç','Ü','Ö');
		$ready = str_replace($bad,$good,$ready);
		return $ready;
	}
 

deja_wu

0
İyinet Üyesi
Katılım
26 Şubat 2005
Mesajlar
142
Reaction score
0
$veri = iconv("UTF-8","ISO-8859-9",$veri);

yada

header("Content-Type: text/html; charset=iso-8859-9");
header("Content-Type: text/html; charset=UTF-8");
 

annudora

0
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
Konum
@nkara
Deneyeyim bakalım tüm bunları. Ama : 'Å?' bunu verdiğimde karakteri algılamıyordu. Bakalım sonuçta düzeltmeyi becerebilecekmiyim.
-
Yok sanırım böyle olmayacak tek çare karakter değişimi. FAN seninki sorunu çözüyorsa eğer onu TEXT dosyası olarak post edersen sevinirim. Sanırım FORUMDA da ? olarak çıkıyor o karakter.
 

beceriksiz_acemi

0
İyinet Üyesi
Katılım
27 Aralık 2005
Mesajlar
4,796
Reaction score
16
Konum
-Adsense-
PHP:
<?

mysql_connect($server, $user,$pass) or die ("Hata: veritabanına bağlanılamadı!.Bilgiler yanlış");
mysql_select_db($database) or die ("Hata: veritabanına bağlanılamadı!.Db yok");
mysql_query("SET NAMES 'latin5'");

$site = "http://".$_SERVER["SERVER_NAME"];
function trsil($q) { 
$q = str_replace ("ç","c",$q);
$q = str_replace ("ç","c",$q); 
$q = str_replace ("ğ","g",$q); 
$q = str_replace ("İ","I",$q); 
$q = str_replace ("ı","i",$q); 
$q = str_replace ("ş","s",$q); 
$q = str_replace ("ö","o",$q); 
$q = str_replace ("ü","u",$q); 
$q = str_replace ("Ü","U",$q); 
$q = str_replace ("Ç","c",$q); 
$q = str_replace (".","",$q); 
$q = str_replace ("Ğ","g",$q); 
$q = str_replace ("Ş","S",$q); 
$q = str_replace ("Ö","O",$q); 
$q = str_replace (" ","_",$q); 
$q = str_replace ("'","",$q); 
$q = str_replace ("/","",$q); 
$q = str_replace ("__","_",$q); 
$q = str_replace ("!","",$q);
$q = str_replace (":","_news_",$q);
$q = str_replace ("?","",$q);
$q = str_replace ("»","1",$q);
$q = str_replace (" ","",$q);
$q = str_replace ("?","",$q);
$q = str_replace ("®","",$q);
$q = str_replace ("™","",$q);
$q = str_replace ("|","_",$q);
$q = str_replace ("(","",$q);
$q = str_replace (")","",$q);
$q = str_replace ("è","e",$q);
$q = str_replace ("à","a",$q);
$q = str_replace ("ï","ş",$q);
return $q; 
} 
?>
 

nokie

0
İyinet Üyesi
Katılım
23 Mart 2005
Mesajlar
1,597
Reaction score
8
Konum
İzmir
o karakterlerin bozuk çıkması veritabanının UTF-8 karakter kodlamasıyla uyumlu çalışmıyor olmasından ileri geliyor. Scriptle düzeltseniz bile veritabanına bozuk şekilde yerleştirilir, buda gelecekte geri dönüşümsüz her türlü karakter sorunu sizi bekliyor demektir.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst