Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

MySQL 4.1.x ve Türkçe Karakter Sorununun Çözümü

atay

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Açılan Konu
298
Tepki puanı
36
PM'den konuştuklarımızı buraya yazmak daha iyi olur sanırım, diğer arkadaşlarımızda faydalanır. tüm konuşmayı önce buraya geçip, yeni sorumu soruyorum....

Orjinal Mesaj Sahibi atay
http://forum.iyinet.com/showthread.php?t=25541
buradaki yazınızı okudum. bi serverim var fakat linux kullanmayı çok iyi bilmiyorum. mesajdaki, "server sahipleri:" bölümünü bi arkadaşa yaptırttım. fakat düzelmedi...
http://www.kazimkoyuncu.web.tr/forum...hp?topic=328.0
buraya şimdi deneme için bi başlık açtım. ÖüÇ vb. karakterler çıktı fakat, İ çıkmadı mesela.... ne yapabilirim ben ??

Orjinal Mesaj Sahibi nokie
merhaba yeni sunucunuzda yedeği yüklemeden önce veri tabanınızı doğru oluşturdunuzmu? örneğin:


Kod:
CREATE DATABASE veritabanıadı CHARSET=latin5 COLLATE=latin5_turkish_ci;
şeklinde veri tabanınızı oluşturmanız gerekir, ve yedeğinizi bu oluşturduğunuz doğru veri tabanına yüklemenir gerekir. Birde charset olarak latin5 mi kullanıyor tablolarınız?

Yeni sorum:

arkadaşa söyledim yaptı. ama tam olarak ne yaptı bilemiyorum. örneğin ben, makine kontrolünü yeni yeni öğrenmeye çalışan biriyim. aslında siz birde mesela o cnf u ssh de nasıl açacaz vs. adım adım anlatsanız çok iyi olur.
 

zbahadir

0
Onaylı Üye
Üye
Katılım
19 Mart 2006
Mesajlar
2,416
Açılan Konu
23
Tepki puanı
0
Konum
Trabzon
MySQL 4.1.x'e kurulu bir db daha sonra 4.0.x'te sorun çıkarır mı, veya bu aşamada neler yapılmalıdır?
 

nokie

0
Onaylı Üye
Üye
Katılım
23 Mart 2005
Mesajlar
1,597
Açılan Konu
43
Tepki puanı
8
Konum
İzmir
merhaba, sorun çıkarmaz fakat çok zorunlu olmadıkça yükleme yapmayın bence.

4.1.x'e kurulu veri tabanını 4.0x versiyona sorunsuz aktarabilmek için aşağıdaki komutla dump yedeği almanız gerekiyor:

mysqldump --compatible=mysql40 --default-character-set=tablolarınızın_karakter_seti -u veritabanı_kullanıcıadı -p veritabanıadı > /dizin/yedek.sql

sonra bu şekilde alınan yedeği 4.0x versiyona yüklerken ise:

mysql -u veritabanı_kullanıcıadı -p veritabanıadı < /dizin/yedek.sql

şeklinde yükleyebilirsiniz, herhangi bir sorun olmaz.
 

nokie

0
Onaylı Üye
Üye
Katılım
23 Mart 2005
Mesajlar
1,597
Açılan Konu
43
Tepki puanı
8
Konum
İzmir
Yeni sorum:

arkadaşa söyledim yaptı. ama tam olarak ne yaptı bilemiyorum. örneğin ben, makine kontrolünü yeni yeni öğrenmeye çalışan biriyim. aslında siz birde mesela o cnf u ssh de nasıl açacaz vs. adım adım anlatsanız çok iyi olur.

şimdi öncelike my.cnf dosyanızın makinenizdeki yerini bulun, bunu için basit bir komut:

locate my.cnf

komutunu kullanabilirsiniz, genelde /etc/my.cnf altında olur.

cnf dosyasını açmak için sistemdeki mevcut editorlerden varsa pico, nano, yoksa vi kullanabilirisniz.

pico /etc/my.cnf

komutu ile dosyayı açıyorsunuz ve ilk mesajda yazdığım her satıra dikkat ederek eklemeleri yapıyorsunuz, herşey bitince dosyayı kaydedip çıkmak için: ctrl +x bastıktan sonra Y basıyor ve çıkıyorsunuz. Bu yaptığınız değişikliklerin aktif olabilmesi için:

service mysqld restart

komutunu kullanıyoruz. ve bukadar.
 

*siber*

0
Onaylı Üye
Üye
Katılım
20 Temmuz 2005
Mesajlar
2,014
Açılan Konu
108
Tepki puanı
1
Konum
about:blank
nokie' Alıntı:
my.cnf dosyandaki [client] , [mysqld] bölümlerinde aşağıdakiler mevcutmu? :

Kod:
default-character-set=latin5
default-collation=latin5_turkish_ci

Ayrıca [mysqld] bölümünde aşağıdaki satırı ekledinmi? :

Kod:
init-connect='SET NAMES latin5'

Değişikliklerden sonra mysql sunucusuna reset attığında hala sorun devam ediyorsa:

show variables like '%latin5%'; komutunun çıktısını buraya gönderebilirmisin?

birde kullandığın mysql versiyonu ve bu sorunu ne yaptığında tekrarladığında yazabilirmisin? örnek: yedeği yükledikten sonramı, yoksa yeni oluşturulmuş bir veri tabanına veri girdiğindemi karakterler ? dönüşüyor.


Aynen yaptım. Sorun halen daha devam ediyor. Yanlız benim my.cnf da [client] diye bir yer yok. Verdiklerini [mysqld] satırının altına ekledim. Sonuç aynı. Çok sinir bozucu bir olay bu
 

SLiM_BoY

0
Onaylı Üye
Üye
Katılım
4 Ağustos 2005
Mesajlar
2,325
Açılan Konu
175
Tepki puanı
0
Eveet, başka bir karakter sorunu ile karşılaştım..
Eski bir sitemi tekrar yayına sokmaya karar verdim.Fakat yedek alırken sanırım latin1_swedish_ci olarak yedek almışım.Fakat db'deki Türkçe karakterlerde herhangi bir sorun yok.Yeni bir db oluşturup "phpMyAdmin - İşlemler" bölümünden "Karşılaştırma" yı latin5_turkish_ci olarak ayarlıyorum.Daha sonra yüklediğimde ise, latin1_swedish_ci olarak yükleniyor.Doğal olarak da sitede Türkçe karakterler ? olarak çıkıyor.Bu db'yi latin5_turkish_ci olarak nasıl yükleyebilirim acaba? (DB'yi ssh'tan yüklüyorum)
 

SLiM_BoY

0
Onaylı Üye
Üye
Katılım
4 Ağustos 2005
Mesajlar
2,325
Açılan Konu
175
Tepki puanı
0
SLiM_BoY' Alıntı:
Eveet, başka bir karakter sorunu ile karşılaştım..
Eski bir sitemi tekrar yayına sokmaya karar verdim.Fakat yedek alırken sanırım latin1_swedish_ci olarak yedek almışım.Fakat db'deki Türkçe karakterlerde herhangi bir sorun yok.Yeni bir db oluşturup "phpMyAdmin - İşlemler" bölümünden "Karşılaştırma" yı latin5_turkish_ci olarak ayarlıyorum.Daha sonra yüklediğimde ise, latin1_swedish_ci olarak yükleniyor.Doğal olarak da sitede Türkçe karakterler ? olarak çıkıyor.Bu db'yi latin5_turkish_ci olarak nasıl yükleyebilirim acaba? (DB'yi ssh'tan yüklüyorum)

Yok mudur benim sorunuma bir çözüm :)
 

zbahadir

0
Onaylı Üye
Üye
Katılım
19 Mart 2006
Mesajlar
2,416
Açılan Konu
23
Tepki puanı
0
Konum
Trabzon
SLiM_BoY' Alıntı:
Yok mudur benim sorunuma bir çözüm :)
DB'yi konsoldan latin1 olarak oluşturur ve db'yi konsoldan yüklersen sanırım olur. Konunun yukarlarında gerekli açıklamalar var zaten.
 

SLiM_BoY

0
Onaylı Üye
Üye
Katılım
4 Ağustos 2005
Mesajlar
2,325
Açılan Konu
175
Tepki puanı
0
zbahadir' Alıntı:
DB'yi konsoldan latin1 olarak oluşturur ve db'yi konsoldan yüklersen sanırım olur. Konunun yukarlarında gerekli açıklamalar var zaten.

latin1 olarak denedim yine olmadı..Dump script denedim yine TR karakterleri göstermiyor..Aslında ö-ü gösteriyor.. ı-ş göstermiyor gibi..Gece gece kafa patlatacam biraz :)
 

ayantas

0
Onaylı Üye
Üye
Katılım
19 Ekim 2005
Mesajlar
234
Açılan Konu
56
Tepki puanı
0
Ben ilk defa php kullanmaya başladım. phpbb forumu yükledim. Haliyle bendede Türkçe karakter sorunu çıktı. Bir kısmını hallettim lakin bu seferde karakterler ? şeklinde gösteriyor. Cevabını da aslında Nokie 1. sayfada vermiş

nokie' Alıntı:
Ancak sistem ayarları latin1 olarak ayarlı olan bir makinede, bu ayarları yapsanız bile bu sefer türkçe karakterlerin yerine sayfanızda soru işaretleri çıkacaktır '?' gibi.

Bununda çözümü çok basit, mysql bağlantısı yaptığınız sorgu koduna aşağıdaki eklentiyi yapmanız yeterli;

mysql_query("SET NAMES 'latin5'");

Lakin arkadaşlar bu phpbb forumdan anlayan varsa bu kodu eklemem için data bağlantısı yapılan dosyanın ismini ve tam olarak nereye yerleştireceğimi yazabilirse çok sevinir ve size dua ederim.
 

zbahadir

0
Onaylı Üye
Üye
Katılım
19 Mart 2006
Mesajlar
2,416
Açılan Konu
23
Tepki puanı
0
Konum
Trabzon
Bağlantı kütüphanesi /phpp ana dizinde /db içerisinde ama sizin sorununuzu çözebileceğini sanmıyorum.

Bir kaç kere başıma geldi o nedenle buradaki konudan faydalanarak bir kaç dilde yedekleme yaptım ve yeniden yükledim ama ne yaptıysam tam olarak düzeltemedim.

Son olarak sql dosyalarını zipleyerek taşıdım ve sorun çözüldü. Ama bu çözüm sizin sorununuzu çözmeyebilir.
 

ayantas

0
Onaylı Üye
Üye
Katılım
19 Ekim 2005
Mesajlar
234
Açılan Konu
56
Tepki puanı
0
Mysql 4.1.x phpbb forum Türkçe karakter sorunu

Sonunda php kullanmaya karar verdim.

Server a Phpbb forum kurdum. MySQL 4.1.x serisinde karşılaştırma seçeneği olarak "latin5_bin (büyük, küçük harf duyarlı)" yükledim ama bu seferde Türkçe karakterler ? şeklinde görünüyor. Bunu da çözebilmem için phpbb forumda mysql bağlantısı yaptığım sorgu koduna bu mysql_query("SET NAMES 'latin5'"); eklentiyi yapmam gerekiyor ama hangi dosyada ve nereye ekleyeceğimi bulamadım.

Php ci arkadaşlar yardımlarınızı bekliyorum.
 

ayantas

0
Onaylı Üye
Üye
Katılım
19 Ekim 2005
Mesajlar
234
Açılan Konu
56
Tepki puanı
0
zbahadir' Alıntı:
Önce bu konuyu okuyun isterseniz okumadıysanız tabii. :)
http://forum.iyinet.com/showthread.php?t=25541

Orayı okudum bir kısmını o konudan okuyarak hallettim. Sorun şu : Sn Nokie' nin belirttiği mysql_query("SET NAMES 'latin5'"); bu kodu phpbb forumda db bağlantısı yapılan php uzantılı dosyayı ve nereye koyacağımı bulamıyorum. Umarım anlatabilmişimdir. :D
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO
Bu konu ile diger konuyu birlestiriyorum, tek konu uzerinden devam edelim
 

ayantas

0
Onaylı Üye
Üye
Katılım
19 Ekim 2005
Mesajlar
234
Açılan Konu
56
Tepki puanı
0
ayantas' Alıntı:
Orayı okudum bir kısmını o konudan okuyarak hallettim. Sorun şu : Sn Nokie' nin belirttiği mysql_query("SET NAMES 'latin5'"); bu kodu phpbb forumda db bağlantısı yapılan php uzantılı dosyayı ve nereye koyacağımı bulamıyorum. Umarım anlatabilmişimdir. :D


Arkadaşlar yokmu bu soruyu cevaplayacak php ci. :(
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO
ayantas' Alıntı:
Arkadaşlar yokmu bu soruyu cevaplayacak php ci. :(

Sorun spesifik olarak bir program ile ilgili, phpbb kullananlar belki bir oneride bulunurlar.

Genel mantik olarak yapaman gereken, mysql baglantisi kurulduktan sonra ilk is olarak
mysql_query("SET NAMES 'latin5'");
koymalisin.
Baglanti hangi dosyada yapiliyor onu da grep yada find ile bulabilirsin, mysql_connect i arayarak.
 

ayantas

0
Onaylı Üye
Üye
Katılım
19 Ekim 2005
Mesajlar
234
Açılan Konu
56
Tepki puanı
0
iyinet' Alıntı:
Sorun spesifik olarak bir program ile ilgili, phpbb kullananlar belki bir oneride bulunurlar.

Genel mantik olarak yapaman gereken, mysql baglantisi kurulduktan sonra ilk is olarak
mysql_query("SET NAMES 'latin5'");
koymalisin.
Baglanti hangi dosyada yapiliyor onu da grep yada find ile bulabilirsin, mysql_connect i arayarak.


Teşekkürler İyinet. Valla sende olmasan...
 

nokie

0
Onaylı Üye
Üye
Katılım
23 Mart 2005
Mesajlar
1,597
Açılan Konu
43
Tepki puanı
8
Konum
İzmir
SLiM_BoY' Alıntı:
Eveet, başka bir karakter sorunu ile karşılaştım..
Eski bir sitemi tekrar yayına sokmaya karar verdim.Fakat yedek alırken sanırım latin1_swedish_ci olarak yedek almışım.Fakat db'deki Türkçe karakterlerde herhangi bir sorun yok.Yeni bir db oluşturup "phpMyAdmin - İşlemler" bölümünden "Karşılaştırma" yı latin5_turkish_ci olarak ayarlıyorum.Daha sonra yüklediğimde ise, latin1_swedish_ci olarak yükleniyor.Doğal olarak da sitede Türkçe karakterler ? olarak çıkıyor.Bu db'yi latin5_turkish_ci olarak nasıl yükleyebilirim acaba? (DB'yi ssh'tan yüklüyorum)

Merhaba,

Öncelikle yanıt geciktiği kusura bakmayın, bir süredir tatildeydim. latin1_swedish_ci karşılaştırmasında türkçe karakterler için sorun olmaz, sadece harf sıralamalarında türkçe harfler en sona atılır. Ancak bunu latin5 setine çevirdiğin için doğal olarak karakterler '?' olarak çıkar.

Bununla beraber latin1 bazı kullandığın php yazılımlarda büyük türkçe harflerde sorun çıkarabilir, sonuçta latin1 de türkçe karakter bulunmamaktadır.

Veritabanın başından beri latin1 ile kodlandığından bütünüyle latin5'e çevirmen çok sorun çıkarır.. dünüştürücüler mevcut ama pek sağlıklı değil açıkcası.

Tavsiyem bu veritabanını sorunsuz kullanabilmek için, öncelikle aşağıdaki gibi veritabanını oluştur:

Kod:
CREATE DATABASE veritabanıadı CHARSET=latin1 COLLATE=latin1_swedish_ci;

Bu oluşturduğun veritabanına latin1 karakter seti kullanan yedeğini import et, sorunsuz bir şekilde çalışacaktır.

not: daha önce sayfalarında charset iso-8859-9 kullanıyordu isen yine böyle kullanmalısın. Normalde latin1 => iso-8859-1 setine denk geliyor ama başından beri 8859-9 ile verilerin veritabanına girildiğinden buna ihtiyaç duyar.
 

nokie

0
Onaylı Üye
Üye
Katılım
23 Mart 2005
Mesajlar
1,597
Açılan Konu
43
Tepki puanı
8
Konum
İzmir
ayantas' Alıntı:
Ben ilk defa php kullanmaya başladım. phpbb forumu yükledim. Haliyle bendede Türkçe karakter sorunu çıktı. Bir kısmını hallettim lakin bu seferde karakterler ? şeklinde gösteriyor. Cevabını da aslında Nokie 1. sayfada vermiş



Lakin arkadaşlar bu phpbb forumdan anlayan varsa bu kodu eklemem için data bağlantısı yapılan dosyanın ismini ve tam olarak nereye yerleştireceğimi yazabilirse çok sevinir ve size dua ederim.

Merhaba,

Sorunun çözüldümü bilmiyorum ama phpbb hakkında detaylı bilgim yok maalesef. Bunu phpbb resmi forumlarında ufak bir araştırma yaparak bulabilirsin sanıyorum.

Olmazsa uygun bir vakitte senin için araştırabilirim tabi sorunun halen çözülmediyse, bilgilendirirsen sevinirim.
 
Üst