İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Mysql utf8 e replace işlemindeki bir olay

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
Merhaba arkadaşlar. Mevcut veritabanımdaki bazı karakterleri UTF-8 e çevirmem lazım Örneğin:

PHP:
Orjinal		Forumdaki	UTF-8	Sorgu

ı 	 		ý			ı		UPDATE forums SET name= replace(name,"ý","ı");
ş			þ			ş		UPDATE forums SET name= replace(name,"þ","ş");
Ş			Ãz			Å		UPDATE forums SET name= replace(name,"Ãz","Å");
ğ			ð			ğ		UPDATE forums SET name= replace(name,"ð","ğ");
İ			Ã			Ä°		UPDATE forums SET name= replace(name,"Ã","Ä°");


fakat İ (büyük i) harfini replace ettiğim zaman ü (ü) harfi, ö (ö) harfi gibi karakterlerin utf8 karşılığındaki ilk karakteri de değişiyor. Bu konu hakkında yardımcı olabilecek var mı :)
 
E

Erturk

Misafir
İ harfinin forumdaki karakter kodu sadece Ã

ş karakterinin forumdaki karakter kodu ise þ

(ü ve ö karakterlerinin kodlarını göremedim. o yüzden ş örnek veriyorum.)

Yukarıda da gördüğün gibi İ dışındaki bütün Türkçe karakterler à ile başlamakta. Bu nedenledir ki SQL sorgunda kullandığın kod sonucu çıkan sonuç ne yaparsan yap aşağıdaki gibi olacaktır.

ş harfinin önceki hali : Ãz
İ harfi değiştirildikten sonraki ş harfinin yeni hali : Ä°z

Umarım demek istediğimi anlamışsındır?

Peki ne yapabilirsin ?

İlk önce İ harfini update edip daha sonra diğer harfleri güncellersen bir sıkıntı çıkmayacağını düşünüyorum.
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
Hocam valla çok teşekkürler. Olay teknikten ziyade mantıksal birşeymiş demekli :)

Tekrar teşekkür ederim.

İ harfinin forumdaki karakter kodu sadece Ã

ş karakterinin forumdaki karakter kodu ise þ

(ü ve ö karakterlerinin kodlarını göremedim. o yüzden ş örnek veriyorum.)

Yukarıda da gördüğün gibi İ dışındaki bütün Türkçe karakterler à ile başlamakta. Bu nedenledir ki SQL sorgunda kullandığın kod sonucu çıkan sonuç ne yaparsan yap aşağıdaki gibi olacaktır.

ş harfinin önceki hali : Ãz
İ harfi değiştirildikten sonraki ş harfinin yeni hali : Ä°z

Umarım demek istediğimi anlamışsındır?

Peki ne yapabilirsin ?

İlk önce İ harfini update edip daha sonra diğer harfleri güncellersen bir sıkıntı çıkmayacağını düşünüyorum.
 
E

Erturk

Misafir
Rica ederim.

Bahsettiğim şekilde deneyip sonucu buraya yazarsan (belki 1 harfte sorun çıkabilir. oda ı harfi.) duruma gore başka yöntemler bulmaya çalışırız.
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
Sanırım şöyle olacak;

İ harfini ilk önce değiştirince karakterler bu şekilde:
İ Ä°
Ü Ä°¼
Ş Ä°ž
Ğ Ä°
Ç Ä°‡
Ö Ä°–
ü Ä°¼
ş Ä°¾
ğ Ä°°
ç Ä°§
ı Ä°½
ö Ä°¶

Sonra bu karakterleri UTF karşılıkları ile değiştirecez.
 

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