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

0
Onaylı Üye
Üye
Katılım
1 Şubat 2005
Mesajlar
3,367
Tepki puanı
7
Bende türkçe karakter sorunuyla karşılaşmıştım.
Yaptığım şey harici bir programla sql li hiç değiştirmeden ve hiçbir karakter setiyle oynamadan yüklemekti. Ve düzeldi.
Mysql-Front bunu kullanmamınızı öneririm. Hem hata ayıklamasıda yapmakta.
Hemde Türkçe bir program. Kullanmanızı tavsiye ederim.
 
0
Onaylı Üye
Üye
Katılım
18 Ekim 2005
Mesajlar
234
Tepki puanı
0
nokie' Alıntı:
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.


İlgilendiğiniz için çok teşekkür ederim. Ben halen sorunu aşamadım. Müsait zamanınız da bakabilirseniz çok sevinirim.
 
0
Onaylı Üye
Üye
Katılım
8 Şubat 2006
Mesajlar
516
Tepki puanı
0
Kod:
xxxxx:~ # mysql --default-character-set=latin5 -u webxx -p usr_webxx_1 < yedeks.sql
Enter password:
ERROR 1064 at line 21: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1' at line 6
xxxxx:~ #


Malesef konuda anlatilanlari yapmama ragmen yedegi geri yükleyemiyorum :(
 
0
Onaylı Üye
Üye
Katılım
6 Temmuz 2006
Mesajlar
602
Tepki puanı
0
nokie' Alıntı:
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.

sorunumu bu yöntemLe çözdüm. Allah razı oLsun ne diyeyim 2 saattir ne monitöre kafa atmadığım kaLdı ne modemin üzerine basmadığım :D
 
0
Onaylı Üye
Üye
Katılım
23 Şubat 2006
Mesajlar
326
Tepki puanı
0
Çok iyi bir anlatım, emeğine sağlık. +1
 
0
Onaylı Üye
Üye
Katılım
23 Şubat 2006
Mesajlar
326
Tepki puanı
0
VBulletin kurulumunu gerçekleştirdim.

Bunlar;

latin5_bin (büyük, küçük harf duyarlı)

latin5_turkish_ci (büyük, küçük harf duyarsız)

karşılaştırmalarıdır, bizim tercihimiz herzaman latin5_turkish_ci karşılaştırması olmalıdır.

Bunuda yaptım fakat söylediğiniz gibi bazı karakterler "?" şeklinde çıkıyor.

Vbulletinde aşağıdaki önerdiğiniz kodu nereye koymam gerektiğini bilmiyorum.

Kendi sunucum yok reseller bayi kullanıyorum.

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'");

Bu konuda yardımcı olursanız sevinirim.

iyinet bir vbulletin kullanıcısı olarak senden de yardım bekliyorum. İlginiz için şimdiden teşekkürler.
 
0
Onaylı Üye
Üye
Katılım
3 Ağustos 2006
Mesajlar
0
Tepki puanı
0
Konum
İstanbul
Elimdeki my.cnf dosyası budur, bunu nasıl editleyecem yardım edermisiniz tr problemini çözebilmek için? Birkaç kez denedim mysql serveri patlatmaktan başka bişey yapamadım :D

Kod:
[mysqld]
init-connect="SET NAMES latin5"
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
     
[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
Y
ysf
Misafir
BrUnO' Alıntı:
Elimdeki my.cnf dosyası budur, bunu nasıl editleyecem yardım edermisiniz tr problemini çözebilmek için? Birkaç kez denedim mysql serveri patlatmaktan başka bişey yapamadım :D

Kod:
[mysqld]
init-connect="SET NAMES latin5"
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
     
[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


Konunun ilk mesajlarinda, ornek my.cnf optimizasyonu bulabilirsiniz. Ilk mesajları dikkatle okuyun.
basarilar
 
0
Onaylı Üye
Üye
Katılım
3 Ağustos 2006
Mesajlar
0
Tepki puanı
0
Konum
İstanbul
Dünden beri okumaktan başka bişey yapamıyorum malesef, dosyamda [client] bölümü yok zaten.

Dosyamın son hali bu şekilde, işe yaramadı ? Hatam nedir?

Kod:
[mysqld]
init-connect='SET NAMES latin5'
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
     
[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
default-character-set=latin5
default-collation=latin5_turkish_ci
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
0
Onaylı Üye
Üye
Katılım
1 Şubat 2006
Mesajlar
826
Tepki puanı
0
Konum
hawaii
daha önceden açılmış veritabanlarını latin5 nasıl yapabilirim

işlemler bölümüne girdim ama "karşılaştırma" diye hiçbişi yok
 
0
Onaylı Üye
Üye
Katılım
18 Mayıs 2006
Mesajlar
49
Tepki puanı
0
peki bu anlattığınız olayı win. makinede nasıl gerçekleştirebiliriz ?
 
0
Onaylı Üye
Üye
Katılım
23 Mart 2005
Mesajlar
1,597
Tepki puanı
8
Konum
İzmir
peki bu anlattığınız olayı win. makinede nasıl gerçekleştirebiliriz ?

win makinede my.ini dosyasında aşağıdaki değişikliği yapıp kaydet:

[mysqld] bölümüne altına:

init-connect="SET NAMES latin5"

satırını ekle.

Ayrıca, [mysqld_safe] ve [client] bölümlerinede aşağıdaki eklemeleri yap:

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

değişiklikleri yapıp kaydettikten sonra mysql sunucusuna reset at, değişiklikler aktif olur.
 
Geri
Üst