Arama butonu
Bu konudaki kullanıcılar: 1 misafir
11
Cevap
2107
Tıklama
0
Öne Çıkarma
Türkçe Karakter Problemi
M
19 yıl
Yüzbaşı
Konu Sahibi

Merhaba arkadaşlar.

Son 3 gündür kafayı yiyorum kendi kendime :) eski çalıştıgım sunucudan web sitemi şuan vergonen sunucularına transfer etmiş bulunuyorum.
Veritabanını aynı şekilde girdigim de türkçe karakterler gözükmemeye basladı. Ne yapsam türkçe karakter desteğini olusturamıyorum suan sitemde.
Veritabanına baglantı noktasına giden kodlamalarda şunu koyuyorum
mysql_query("SET NAMES 'latin5'");

ama yine sorunum çözülmüyor.

phpmyadmin sürümü 2.9.0.2 ve mysql sürümü 4.1.14
sql sorgularim latin1_swedish_ci

türkçe karakter problemini nasıl gideririm arkadaslar bilginiz varmı?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



M
19 yıl
Yüzbaşı
Konu Sahibi

ya arkadaşlar sql sorgularımıda latin5 yapınca sorun ortadan kalktı ancak
eski türkçe karakter olan bilgiler düzelmedi, yeni girilen türkçe karakterler cıkıyor sadece.
eski türkçe karakterleri nasıl kurtarıcam bir bilgisi olan varmı ?


Bu mesaja 1 cevap geldi.
T
19 yıl
Yüzbaşı

bende de bunabenzer bir sorun var arkadaşlar!!

phpmyadminden ve mysql komut satırından sql yedeğini aldığım zaman onu bi txt editor de açtığımda karakterler bozuk çıkıyor. başka bir host'a attığımda da bozuk çıkıyor!!

ancak phpbb ile yedek aldığımda sql i txt ile açınca ve başka bir hosting'e atınca sql de tüm karakterler düzgün görünüyor!!

budurumda aklıma phpbb yedek alırken türkçe karakterlerin görülmesi için extra bir komut saturı ekliyor bende bu şekilde myqsl komut satırından karakterleri düzgün çıkartacak çekilde sql yedeği alabilir miyim acaba?

Yardımcı olursanız çok seviniriz teşekkürler..


Bu mesaja 1 cevap geldi.
T
19 yıl
Yüzbaşı

Arkadaşlar şu soruna bir elsanız diyorum yaa

şimdi yeni bir hata daha verdi

yaancı hostdan mysql komut satıırından

msyqldump -u kullanıcı -p şifre database > backup.sql

şeklinde database'i yedekliyorum

sonra bu database'i
aynı host üzerinde başka bir database'e aktarırken sorun çıkartıyor

mysql -u kullanıcı -p şifre baska_database < backup.sql

yazdığımda "ERROR 1062 (23000) at line 43463: Duplicate entry 'ba?lar' for key 1" şeklinde hata veriyor

mysqldump -u kullanıcı -p şifre baska_database < backup.sql

olarak denediğimde ise ekrana bütün sql'i sayfa sayfa açıyor en sonunda da



/*!40000 ALTER TABLE `phpbb_search_wordlist` ENABLE KEYS */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

yazıyor..

bu konuda yardım ederseniz çok iyi olur database yedekleyemiyorum arkadaşlar!!
eskiden böyle yapmıyordu en azından kendi içerisinde bir database den diğerine atabiliyordum verileri!


Bu mesaja 1 cevap geldi.
A
19 yıl
Yüzbaşı

phpmyadmin den sql sorgusu çalıştırırken utf8 olarak yükle latin5 değil.


Bu mesaja 1 cevap geldi.
T
19 yıl
Yüzbaşı

quote:

Orjinalden alıntı: agoraseo

phpmyadmin den sql sorgusu çalıştırırken utf8 olarak yükle latin5 değil.




sql sorgusu çalıştrmıyorum Export yapıyorum sql'i yedekliyorum

sonra sql'i açınca içerisindeki karakterler bozuk çıkıyor!


Bu mesaja 1 cevap geldi.
T
19 yıl
Yüzbaşı

zaten backup.sql.gz dosyasını phpmyadminden alırken utf8 yada herhangi bir charset seçemiyorum öylebir bölüm yok yani!


Bu mesaja 1 cevap geldi.
J
19 yıl
Teğmen

aynı hatayı ben de alıyorum

-- phpMyAdmin SQL Dump
-- version 2.6.0-pl3
--http://www.phpmyadmin.net
--
-- Sunucu: localhost:3306
-- �ıktı Tarihi: Kasım 23, 2006 at 10:10 PM
-- Server sürümü: 4.1.18
-- PHP Sürümü: 5.0.5
--
-- Veritabanı: `oyunlar`
--
-- --------------------------------------------------------
--
-- Tablo yapısı : `categories`
--
CREATE TABLE `categories` (
`cId` mediumint( 9 ) NOT NULL AUTO_INCREMENT ,
`cName` varchar( 200 ) NOT NULL default '',
`cOrder` bigint( 20 ) NOT NULL default '0',
`cVisible` tinyint( 1 ) NOT NULL default '1',
UNIQUE KEY `cId` ( `cId` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1

MySQL çıktısı: Yardım
#1064 - 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 25



böyle bir sorunla karşılaşında latin1 leri latin5 yazpın düzelir dediler yaptım olmadı.ENGINE = MYISAM DEFAULT CHARSET = latin1 yazan kısımları sil dediler yine olmadı.yok mudur şöyle bi babayiğit çıksa da sorunumuza bi çözüm bulsa.


Bu mesaja 1 cevap geldi.
I
19 yıl
Yüzbaşı

:
:
ENGINE = MYISAM
CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Eğer latin1 desteği ile olacaksa, alt-dil kümesini seçmende fayda var..

örn. Türkçe karakter seti ile :
CREATE TABLE `categories` (
`cId` MEDIUMINT(9) NOT NULL AUTO_INCREMENT,
`cName` VARCHAR(200) NOT NULL,
`cOrder` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`cVisible` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY(`cId`)
)
ENGINE = MYISAM
CHARACTER SET latin5 COLLATE latin5_turkish_ci;


denemeni öneririm..
Bildiğim kadarıyla, dil kümesini seçmek yetmiyor;
"collating sequence" (Türkçe'si sıralama mı oluyor bilmiyorum)
bunun da seçilmesi gerekiyor.


Bu mesaja 1 cevap geldi.
J
19 yıl
Teğmen

CREATE TABLE `categories` (
`cId` mediumint( 9 ) NOT NULL AUTO_INCREMENT ,
`cName` varchar( 200 ) NOT NULL default '',
`cOrder` bigint( 20 ) NOT NULL default '0',
`cVisible` tinyint( 1 ) NOT NULL default '1',
UNIQUE KEY `cId` ( `cId` )
) CHARACTER SET latin5 COLLATE latin5_turkish_ci

MySQL said: Documentation
#1064 - You have an error in your SQL syntax near 'CHARACTER SET latin5 COLLATE latin5_turkish_ci' at line 25

ı ıh olmadı.başka çözümü olan?


Bu mesaja 1 cevap geldi.
I
19 yıl
Yüzbaşı

jamie,

Ben MySql 5.1 kullanıyorum. Yukarıda yazdıklarımı,
senin verdiğin tanıma uygun üretmeye çalıştım.
Bende bir sorun olmadı...
Sen hangi Mysql versiyonunu kullanıyorsun;
belki versiyon farklılığındandır??

-- Server sürümü: 4.1.18

Tam okunmuyor ama, server sürümü (mysql) 4.1.18 olduğunu varsaydım.
Bunun üzerine bir arama yapayım dedim,
(google ile : mysql 4.1 create arattım) gelen sayfalarda
yararlı bilgiler var bir kaçını yazıyorum.
Bir de komutun sonuna noktalı virgül koymayı dene..

http://www.sistembilgisi.com/web-programlama/php-ve-mysql/mysql-41x-ve-turkce-karakter-sorununun-cozumu.html
http://dev.mysql.com/doc/refman/4.1/en/create-table.html

Umarım yararı olur.


Bu mesaja 1 cevap geldi.
J
19 yıl
Teğmen

sağolasın ISIS.denedim denedim olmadı.bir ara her ne yaptıysam sql sorgunuz başarılı bir şekilde tamamlandı dedi.ne yaptıgımı inan ben de bilmiyorum.sonra hata çıakran satırlara baktım çalışan sorguda

DROP TABLE IF EXISTS `categories`;
CREATE TABLE `categories` (
`cId` mediumint(9) NOT NULL auto_increment,
`cName` varchar(200) NOT NULL default '',
`cOrder` bigint(20) NOT NULL default '0',
`cVisible` tinyint(1) NOT NULL default '1',
UNIQUE KEY `cId` (`cId`)
) TYPE=MyISAM;

şeklindeydi.yani bu şekilde sorunsuzca çalışıyor.

ben sonra satırı o şekilde değiştirdiğimi de hatırlamıyorum ama neyse sorun çözüldü.ilgin için de sağol ;)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.