2 gün boyunca türkçe karakter sorununu çözemediğim için forumum kapalı kaldı...Googlenin altını üstüne getirdim burda arama yaptım ama hiç biri işine yaramadı..Sonunda aramalarım sonuç verdi ve bu tür sıkıntı yaşayan tüm arkadaşların işine yarayacak bir methot buldum..Anlatım tamamen alıntıdır ve hazırlayan arkadaştan Allah razı olsun...Yazıyı Dikkatle incelerseniz eminim sizin sorununuzda düzelecektir....
genelde host değiştirirken oluşan Türkçe karakter sorunları başa beladır. ne yapsan düzelmez adamın ömrünün yarısını alır götürür, gezmediğin web sitesi kalmaz herkes bişey söyler kiminin önerisi çözüm olur kimininki daha beter eder sen kabız olduğunla kalırsın.hele db yi notepad ile açıp Türkçe karakterleri bul/değiştir ile düzelt demezlermi onları görünce nevrim dönüyo. kardeşim db nin boyutu 200mb sınırını zorluyo onu notepad ile nereye açıyosun, bırak editlemeyi 40mb dan yüksek sql'i notepad ile açmayı bi deneyin bakalım açılıyomu. neyse biz konumuza dönelim bizim işimiz daha beter olanı yada hiç çözülemeyeni çözmek.
veritabanında Türkçe karakter sorunumu var? ne yaptıysan düzeltemedinmi? öyleyse diyeceklerimi yapmaktan başka şansın kalmadı demektir
çözüm
1- öncelikle HeidiSQL_3.0RC4_Setup isimli programı indirip kurucaksın. BURDAN İNDİREBİLİRSİNİZ (http://www.heidisql.com/download.php)
2- programını açıyosun. new ile bir isim sallayıp veri tabanı kullanıcı adınız ile şifrenizi yazıp veri tabanınıza ulaşıyorsunuz..( C-Panel Kullananlar MYSQL veri tabanı oluşturdukları bölümden kendi ip numaralarına bağlantı izni vermeleri gerekiyor )
(http://img337.imageshack.us/img337/6593/32842955hs8.jpg)
3- şimdi işin gıcık kısmı geldi. programda sol kısımda yüklemiş olduğun veritabanları listelenir orda en son yüklediğin yedeği seçip ilk tablodan başlayarak son tabloya kadar içindekileri alanları sql sorgusu ile editlememiz gerek.
nasıl yaparız dersek mesela forum db sindeki attachment tablosunu editlemek ile başlayalım.
(http://img337.imageshack.us/img337/772/63429129he1.jpg)
resimde 1 numara ile işaretlediğim yerdeki tabloların hepsini tek tek açıp içindekileri editliycez. bu tablonun içindekileri nerden görmek için önce 3 numaralı "data" sekmesini açıyoruz. ben data kısmında görünen attachment tablosunun "filename" alanını sql sorgusu ile editliycem. burda kullanacağımız sql sorgusu mantığı şuna benzer olucak
update [tabloadı] set [alanadı] = replace([alanadı],'[değiştirilmesi istenen bilgi]','[yerine konacak bilgi]');
5- şimdi data sekmesinin yan tarafındaki "Query" sekmesini açalım.
oraya yukardaki kod satırına göre editlemek istediğimiz tablo ve alan adlarını yazalım. kodları aşağıdaki gibi kullanırsanız belirtilen tablonun belirtilen alanındaki tüm veriler taranıp istenilen değişiklikler yapılır. biz attachment tablosundaki filename alanınındaki bozk karakterleri düzelticektik bunun için kullanacağımız kodlar aşağıdaki gibidir. bunları "query" sekmesine yazıyoruz.
UPDATE attachment SET filename = REPLACE (filename, 'þ', 'ş' ) WHERE filename LIKE '%þ%';
UPDATE attachment SET filename = REPLACE (filename, 'Ãz', 'Ş' ) WHERE filename LIKE '%Ãz%';
UPDATE attachment SET filename = REPLACE (filename, 'Ç', 'Ç' ) WHERE filename LIKE '%Ç%';
UPDATE attachment SET filename = REPLACE (filename, 'ç', 'ç' ) WHERE filename LIKE '%ç%';
UPDATE attachment SET filename = REPLACE (filename, 'Ã?', 'Ö' ) WHERE filename LIKE '%Ã?%';
UPDATE attachment SET filename = REPLACE (filename, 'Ö', 'Ö' ) WHERE filename LIKE '%Ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ö', 'ö' ) WHERE filename LIKE '%ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ü', 'ü' ) WHERE filename LIKE '%ü%';
UPDATE attachment SET filename = REPLACE (filename, 'ð', 'ğ' ) WHERE filename LIKE '%ð%';
UPDATE attachment SET filename = REPLACE (filename, 'ý', 'ı' ) WHERE filename LIKE '%ý%';
UPDATE attachment SET filename = REPLACE (filename, 'Ã�', 'İ' ) WHERE filename LIKE '%Ã�%';
UPDATE attachment SET filename = REPLACE (filename, 'Ü', 'Ü' ) WHERE filename LIKE '%Ü%';
UPDATE attachment SET filename = REPLACE (filename, 'Ä�', 'Ğ' ) WHERE filename LIKE '%Ä�%';
(http://img337.imageshack.us/img337/302/43685224sr1.jpg)
kodları yazdıktan sonra bu edit işlemini tüm karakterler için bir seferde yapmak üzere kod satırlarının hepsini seçip bir üst resimdeki ok ile gösterilen ikona tıklıyoruz ve işlemin bitmesini bekliyoruz.
program sql sorgusundaki değerlere göre bozuk karakterleri bulup bizim istediğimiz karakterler ile değiştiricek yani kısaca "bul/değiştir" işlemi yapıcak.
bu işlem bittikten sonra işimiz bittimi tabiki bitmedi. biz düzeltme işlemini sadece attachment tablosunun filename alanı için yaptık ama orda attachment tablosunda sedece filename alanı yok ki daha orda bir sürü alan var şimdi sql sorgumuzu dğer alanlara göre değiştirip düzeltme işlemini yapmamız gerek. mesela "filedata" alanını editliyceksek kullanıcağımız sql kodu şöle olucak
UPDATE attachment SET filendata = REPLACE (filedata, 'Ü', 'Ü' ) WHERE filedata LIKE '%Ü%';
diğer kodlarıda bu şekilde değiştirip filedata içindeki bozuk karakterleri düzeltebilirsiniz.
bu işlemleri tüm tablo ve içinlerindeki alanlar için yapmanız gerek.
vbulletin kullanıyorsanız 112 civarı tablo içlerindeki sayısız alan ile uğraşmak gözünüzü korkutabilir ama başka yolu yok malesef ki ben kendi veritabanımı bu yolla yarım saatte editlemiştim.
işleri hızlandırmak için bir tavsiye tablo içlerindeki her alanı editlemek zorunda değilsiniz sadece bozuk karakter olması muhtemel alanları editlemelisiniz.
mesela yukardaki resimlere bakın attachment tablosunda bozuk karakter olabilecek alanlardan biri filename alanıdır ama orda diğer userid,dataline,visible gibi alanlarda tr karakter sorunu yoktur. bu yüzden userid,dataline gibi alanları editlemek için vakit harcamaya gerek yok. bu şekilde sadece gerekli alanları editlerseniz işlemler daha çabuk biter.
editleme bittikten sonra geriye bir iş kalıyo o da localden veritabanı yedeğini alıp hostunuza yükleme.
kolay gelsin...
ALINTI...
Bende işe yaradı arkadaşlar..C-Panelden Kendi İP nize erişim izni vermeyi unutmayın..Pleskte nasıl olur bilmiyorum :D
plesk için bilgisi olan varsa lütfen bizimle paylaşsın. Program kilitlenip kalıyor. Ulaşamıyorum bir türlü
En güzel çözüm. Phpmyadminden geri yüklemek. Kesin vede tek çözüm. latin1, latin5. utf8 bir tanesini deneyeceksin.
Quote from: Gezgin-® on April 30, 2007, 06:05:39 PM
En güzel çözüm. Phpmyadminden geri yüklemek. Kesin vede tek çözüm. latin1, latin5. utf8 bir tanesini deneyeceksin.
Yurt Dışı lokasyonlu hostinglerde pek işe yaramıyor bu karakter seti seçimi...Ben 2 gün boyunca latinler dahil bütün karakter setleriyle denedim olmadı...En son bunu buldum nette ve yarım saatte 50 MB lık veri tabanımdaki bütün sorunlu karakterleri düzelttim...
arkadaslar bende forumu tasiyinca tr karakterler ? seklinde cikiyor sadece aldigim yedekleri yeniden yükleyince oluyor
Arkadaşlar bunun kesin çözümü phpmyadminden yedeğinizi latin5 olarak yükleyeceksiniz daha sonrada settings.php nin en altına yani ?> bundan önce şu kod olması lazım
$db_character_set = ' '; bu kodda ' ' arasına latin5 yazıyorsunuz yani şu şekilde olacak
$db_character_set = 'latin5'; eğer bu kod satırı yoksa
?> bunun hemen önüne $db_character_set = 'latin5'; bu kod satırını ekleyin işlem tamamdır ancak muhakkak phpmyadmin ile atarken latin5 olarak atmanız gerekiyor.
Saygılarımla
Boşverin böyle uzun şahşahalı işleri...
Açın settings.php'nizi,
Bul
?>
Hemen üzerine ekle :
$db_character_set = 'latin5';
Kolay gelsin.
Programı kullanmaya bile gerek yok.
UPDATE attachment SET filename = REPLACE (filename, 'þ', 'ş' ) WHERE filename LIKE '%þ%';
UPDATE attachment SET filename = REPLACE (filename, 'Ãz', 'Ş' ) WHERE filename LIKE '%Ãz%';
UPDATE attachment SET filename = REPLACE (filename, 'Ç', 'Ç' ) WHERE filename LIKE '%Ç%';
UPDATE attachment SET filename = REPLACE (filename, 'ç', 'ç' ) WHERE filename LIKE '%ç%';
UPDATE attachment SET filename = REPLACE (filename, 'Ã?', 'Ö' ) WHERE filename LIKE '%Ã?%';
UPDATE attachment SET filename = REPLACE (filename, 'Ö', 'Ö' ) WHERE filename LIKE '%Ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ö', 'ö' ) WHERE filename LIKE '%ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ü', 'ü' ) WHERE filename LIKE '%ü%';
UPDATE attachment SET filename = REPLACE (filename, 'ð', 'ğ' ) WHERE filename LIKE '%ð%';
UPDATE attachment SET filename = REPLACE (filename, 'ý', 'ı' ) WHERE filename LIKE '%ý%';
UPDATE attachment SET filename = REPLACE (filename, 'Ü', 'Ü' ) WHERE filename LIKE '%Ü%';
bu kodları phpmyadminde ki sql sorgusu çalıştırma bölümünden yapabilirsiniz.
Bilgi: update [tabloadı] set [alanadı] = replace([alanadı],'[değiştirilmesi istenen bilgi]','[yerine konacak bilgi]');
Arkadaş bu bilgiyidfe bize vermiş. Kolayca hepsini yapabilirsiniz. Mesajlar için mesela şu kodları yapmalısınız;
update smf_messages set body = replace(body,'ı','i'); [Bu kod ile ı harfini i 'ye dönüştürdüm.]
yanlız söyle bir durumda vardır ki bilgiler veritabanına utf8 olduğunda ş şeklinde kaydedilir
diğer kodlamalarda farklı biçimde kaydedilir...
arkadaşlar aynı sorun bendede var yedek db yi yeni host a attığımda sapıtıyo yedeği mi düzgün atamıyoz acaba ya :S
Quote from: osahin on June 18, 2007, 08:02:26 PM
Boşverin böyle uzun şahşahalı işleri...
Açın settings.php'nizi,
Bul
?>
Hemen üzerine ekle :
$db_character_set = 'latin5';
Kolay gelsin.
2: Compilation failed: invalid UTF-8 string at offset 39
Dosya: /var/www/vhosts/imamhatipliyiz.biz/httpdocs/forum/Sources/Subs.php
Satır: 2435
Ben forumu sıfır kurdum... sıfır forumu türkçe kurduğum halde TR karakter sorunu yaşıyorum !!
www.kepsut.org bakabilirseniz sevinirim...
HELP MEEE !!
Quote from: sancars on July 15, 2007, 05:19:42 PM
HELP MEEE !!
Help me ne demek? Forum kurallarına lütfen uyunuz. Sitenizde herhangi bir sorun göremedim.
Bu arada bende kepsutluyum :)
QuoteHelp me ne demek? Forum kurallarına lütfen uyunuz. Sitenizde herhangi bir sorun göremedim.
Bu arada bende kepsutluyum :)
MSN :
[email protected] tanışmak isterim...
sorunu giderdim Teşekkürler
Valla helal olsun arkadaş uzun uzun anlatacağına kısa yolu varmış
Ama kardeş yinede emeğine sağlık
herkesin emeğine sağlık
Ben husmen arkadaşın söylediğini yaptım ama sonuç alamadım. phpmyadminde şöyle bir hata var:
SQL sorgusu:
UPDATE attachment SET filename = REPLACE( filename, 'Ü', 'Ü' ) WHERE filename LIKE '%Ü%'
MySQL çıktısı:
#1146 - Table 'psptynet_abc.attachment' doesn't exist
Quote from: pspturkey on July 28, 2007, 11:20:25 AM
Ben husmen arkadaşın söylediğini yaptım ama sonuç alamadım. phpmyadminde şöyle bir hata var:
SQL sorgusu:
UPDATE attachment SET filename = REPLACE( filename, 'Ü', 'Ü' ) WHERE filename LIKE '%Ü%'
MySQL çıktısı:
#1146 - Table 'psptynet_abc.attachment' doesn't exist
attachment tablosunun olmadığını söylüyor. Önce veritabanınıza tıklayın ve tablolar listelensin, öyle sorguyu çalıştırın.
Quote from: husmen73 on June 19, 2007, 02:56:56 AM
Programı kullanmaya bile gerek yok.
UPDATE attachment SET filename = REPLACE (filename, 'þ', 'ş' ) WHERE filename LIKE '%þ%';
UPDATE attachment SET filename = REPLACE (filename, 'Ãz', 'Ş' ) WHERE filename LIKE '%Ãz%';
UPDATE attachment SET filename = REPLACE (filename, 'Ç', 'Ç' ) WHERE filename LIKE '%Ç%';
UPDATE attachment SET filename = REPLACE (filename, 'ç', 'ç' ) WHERE filename LIKE '%ç%';
UPDATE attachment SET filename = REPLACE (filename, 'Ã?', 'Ö' ) WHERE filename LIKE '%Ã?%';
UPDATE attachment SET filename = REPLACE (filename, 'Ö', 'Ö' ) WHERE filename LIKE '%Ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ö', 'ö' ) WHERE filename LIKE '%ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ü', 'ü' ) WHERE filename LIKE '%ü%';
UPDATE attachment SET filename = REPLACE (filename, 'ð', 'ğ' ) WHERE filename LIKE '%ð%';
UPDATE attachment SET filename = REPLACE (filename, 'ý', 'ı' ) WHERE filename LIKE '%ý%';
UPDATE attachment SET filename = REPLACE (filename, 'Ü', 'Ü' ) WHERE filename LIKE '%Ü%';
bu kodları phpmyadminde ki sql sorgusu çalıştırma bölümünden yapabilirsiniz.
Bilgi: update [tabloadı] set [alanadı] = replace([alanadı],'[değiştirilmesi istenen bilgi]','[yerine konacak bilgi]');
Arkadaş bu bilgiyidfe bize vermiş. Kolayca hepsini yapabilirsiniz. Mesajlar için mesela şu kodları yapmalısınız;
update smf_messages set body = replace(body,'ı','i'); [Bu kod ile ı harfini i 'ye dönüştürdüm.]
kardeş ben anlamadığım için yapamadım size kolay gelebilir resimli kolay bir anlatım yaparsanız çok sevinirim
~fabianevam
Yukarıdaki programı kullanın.
Forumun Admin penlinden DB lerinizin yedeklerini alın bence sorun yaşamayacaksınız.
arkadaslar host değişikliği yuzunden bende battım allah rızası ıcın bana yardım edebılecek bırı yokmu..
ben yabarım dıyen bırı cıksa
Beyler/Bayanlar ilk mesajda verilen tablo ismi sadece örnektir. Kendi tablo isminizi yazınız. Varsayılan olarak smf_attachments tablosu mevcuttur, ek dosyalar için.
arkadaşlar ben forum bakımı bölümünden karakter setini değiştirdim ama şimdi düzeltemiyorum yaa çok fena oldu bi bakın burdan (http://www.manyaqgenclik.com) lütfen bana yardımcı olun msn adresimi veriyorum ekleyin lütfen minnettar olurum kurtarmam lazım bunu
[email protected]
(http://img170.imageshack.us/img170/4052/daslo2.png)
böyle bi hata çıkıyo ne bu
arkadaşlar bu kadar emek harcamanıza gerek yok
bozuk karekterli yedeginizi ana dizine atın ve sitenize shh ile bağlanın
yedeğimizin adı forum_yedek.sql olsun
shh ile aşağıdaki kodu çalıştırın veri tabanınız karekter sorunu olmadan yüklenecektir.
mysql -u dbkullanıcıadı -p dbadı < forum_yedek.sql
dbadı yazan yere veri tabanınızın adı
dbkullanıcıadı yazan yerede veri tabanınızın kullanıcı adını yazın
Merhabalar !!
SMF siteyi başka bir servera taşıdım...
FTP ve DB yedeklerini aldım...
DB yedeği latin1_sweden_ci olarak gözüküyor...
124 mb lik SQLDumpSplitter ile 25 parçaya böldüm ve bigdump.php ile yüklemeye uğraştım fakat,
Karakter gurubu uyumsuzluğu hatası aldım....
latin1_sweden_ci olan DB yi latin1 olarak yüklemem gerekiyormuş..
yenis servera DB yi nasıl yükleyebilirim... başka bir yöntem bilen var mı veya latin1_sweden_ci olan veritabanımı nasıl yüklerim...
Saygılarımla..
arkadaşlar, bununla ilgili kesin çözüm diye bir yazı yazdım mysql control center ile bunu çözüyorsunuz zaten, yazımı okuyun ve yapmaya çalışın gayet açık bir biçimde yazdım, adımları teker teker izleyin, size şunu söyleyim bu işlem en fazla maksimum süreceği 5-8 dakikadır. utf imiş latin 1 olacakmış latinden utf ye döncekmiş yükleme olmuyomuş bunlar hiç sorun değil, yazdığım yazıyı okuyun, eğer yapamazsanız beni ekleyin sorununuz neyse ben halledeyim, smf den bir sürü onlarca kişi şu an msn listemde ekli, hepsinde tr karakter sorunu vardı, sorunu düzeltemezseniz msn listenize ekleyin beni db yi rarlayın yollayın, yedeğin smf adminden yada php myadminden alınıp alınmadığı önemli değil.
bunun içinde 2 gün forumunun kapalı kalmasına gerek yoktu, burdan arama yapsaydın, sorununu zaten çözecektin :)
http://www.simplemachines.org/community/index.php?topic=116963.0
Quote from: kontrolkalemi on September 30, 2007, 11:39:53 AM
arkadaşlar bu kadar emek harcamanıza gerek yok
bozuk karekterli yedeginizi ana dizine atın ve sitenize shh ile bağlanın
yedeğimizin adı forum_yedek.sql olsun
shh ile aşağıdaki kodu çalıştırın veri tabanınız karekter sorunu olmadan yüklenecektir.
mysql -u dbkullanıcıadı -p dbadı < forum_yedek.sql
dbadı yazan yere veri tabanınızın adı
dbkullanıcıadı yazan yerede veri tabanınızın kullanıcı adını yazın
malesef shh erişimiz yok olsa konsoldan 2 dkda halledecekdik :S
karakter sorununun sebebi bir kaç sebebe dayanabilir.
çözümlerden biri de şudur:
database in yedeğini alırken encoding olarak utf8_unicode u seçin.
yeni yerinizdeki database i yaratırken ise phpmyadmin Collation sekmesini utf8_unicode_ci yi seçin.
database i backup restoree etmek için mysqldumper adlı programı oneririm.
Bu kadar kasmaya gerek yokki mysql dumper diye ücretsiz bi script var.Sorunsuz ve çok hızlı şekilde yedek alıyor.300 MB 'lık yedeği 9-10 dakikada alıyor.İsterseniz ftp tutarsınız(9-10 dakiakda ftp ye kayıt ediyor) isterseniz indirirsiniz.Siz indirebiliyorsunuz...Gzip olarak yedek alıyor...
ya baslayayim olmuyor hicbirsey anlamiyorum oralardan lutfen bir bakin ben admin panelinden forum bakimindan utf-8 e cevir diye bir yere tikladim ve sonuc bu www.forumcambazi.info r
pek iyi bir çözüm değil harfleri tek tek değiştirmek
ben bu harf değiştirmeyi yaptım ama sanırım harflerin karşılıkları hatalı verilmiş. harfler farklı şekilde değiştirildi :( mesela Ü yerine Ö ğelmiş çünkü ikisinin de benim sqldeki karşılığı Ã?
Quote from: husmen73 (Gulhin) on June 19, 2007, 02:56:56 AM
Programı kullanmaya bile gerek yok.
UPDATE attachment SET filename = REPLACE (filename, 'þ', 'ş' ) WHERE filename LIKE '%þ%';
UPDATE attachment SET filename = REPLACE (filename, 'Ãz', 'Ş' ) WHERE filename LIKE '%Ãz%';
UPDATE attachment SET filename = REPLACE (filename, 'Ç', 'Ç' ) WHERE filename LIKE '%Ç%';
UPDATE attachment SET filename = REPLACE (filename, 'ç', 'ç' ) WHERE filename LIKE '%ç%';
UPDATE attachment SET filename = REPLACE (filename, 'Ã?', 'Ö' ) WHERE filename LIKE '%Ã?%';
UPDATE attachment SET filename = REPLACE (filename, 'Ö', 'Ö' ) WHERE filename LIKE '%Ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ö', 'ö' ) WHERE filename LIKE '%ö%';
UPDATE attachment SET filename = REPLACE (filename, 'ü', 'ü' ) WHERE filename LIKE '%ü%';
UPDATE attachment SET filename = REPLACE (filename, 'ð', 'ğ' ) WHERE filename LIKE '%ð%';
UPDATE attachment SET filename = REPLACE (filename, 'ý', 'ı' ) WHERE filename LIKE '%ý%';
UPDATE attachment SET filename = REPLACE (filename, 'Ü', 'Ü' ) WHERE filename LIKE '%Ü%';
bu kodları phpmyadminde ki sql sorgusu çalıştırma bölümünden yapabilirsiniz.
Bilgi: update [tabloadı] set [alanadı] = replace([alanadı],'[değiştirilmesi istenen bilgi]','[yerine konacak bilgi]');
Arkadaş bu bilgiyidfe bize vermiş. Kolayca hepsini yapabilirsiniz. Mesajlar için mesela şu kodları yapmalısınız;
update smf_messages set body = replace(body,'ı','i'); [Bu kod ile ı harfini i 'ye dönüştürdüm.]
hocam bende bu sorgu çalışmıyor.
Arkadaşlar olmuyor. Anlatılan tüm yöntemleri denedim amna sonuç hep aynı. Bu konu ile ilgili neredeyse girmediğim site kalmadı ama sonuç nafile.
Sistem freehost'taydı ben ücretli hosta geçmek için yedeklerimi aldım. SQL yedeği + FTP local'de düzenleme yapmak için db'i impot ettim ama türkçe karakter sorunu ortaya çıktı ne yapacağımı bilmiyorum artık. Denemediğim import proğramı kalmadı
-rfsplitter
-Xt-SqlCutter
-sql dumper spliter
-bigdump.php
-veritabani geri yukle
bunlar sadece sayabildiklerim bir çok proğram denedim. Bu proğramlar sayesinde sorunu çözen kişiler var. Ama benim yaptığım işlemlerde sorunu çözenlerle aynı. Birçok sitede kesin çözüm yazıyo ama hiçbiride kesin çözüm değil.
Bu konu olan sitelerin hepsine mesaj attım ama nedense ben mesaj attıktan sonra milletin sesi soluğu kesildi :( Ne yapacaımı bilmiyorum son ve tek umudum bu sitede sorunumu sizlerle paylaşmak.
siteye kurduktan sonramı tr karakter hatası alıyosun
site adresi
kullandıgın dil utf8 mi tr mi
settings php de dil le ilgili bişey ekledinmi
Arkadaşım öncelikle cvp verdiğin için teşekkür ederim.
Benim sitem freehostta host firmasıda alman bir firma olduğu için dil kodlaması ona göre değişiyor.
Ben sistemi ücretli hosta geçirmek istiyorum önce host ve domaini almayı düşünüyordum ama sonradan localde kurup düzenleme yapmak istedim iyikide denemişim. Herşey normal diğer sunucudaki tüm dosyaları olduğu gibi locale attım. Settings php dosyasını locale göre düzenledim. Sonra bigdump.php dosyasını kullanarak eski sql'imi upload ettim forumu açtığımda türkçe karakter sorunu olduğunu gördüm. Birçok dosya ve yöntem denedim ama hala bir sonuç alamadım site localde bekliyor türkçe karakter sorunu ortadan kalkınca siteyi açacağım. Ama bunuda nasıl çözeceğimi hiç bilmiyorum neredeyse webmaster destek sitelerinin tümüne sorunumu bildirdim fakat hiçbirinden cvp alamadım.
Siteyi pm olarak gönderiyorum yardımlarınız için şimdiden teşekkür ederim
Saygılarımla...
Quote from: Arbalot on June 19, 2007, 04:57:22 AM
yanlız söyle bir durumda vardır ki bilgiler veritabanına utf8 olduğunda ş şeklinde kaydedilir
diğer kodlamalarda farklı biçimde kaydedilir...
Ben bunu tam oalrak anlayamadım. Veritabanı utf8 oluna türkçe karakterler kendi karşılıkları şeklinde mi oluyor ? Yani ş = ş veya ı = ı gibi? Ben
Ü <=> Ü
Ş <=> ÅŸ
Ğ <=> ÄŸ
Ç <=> Ç
İ <=> İ
Ö <=> Ö
ü <=> ü
ş <=> ÅŸ
ğ <=> ÄŸ
ç <=> ç
ı <=> ı
ö <=> ö
Şeklinde biliyordum. Veritabanında bu farklı mı ? Eğer öyleyse sitemdeki çok büyük bir hatayı düzeltme imkanım olacak. :)
#1270 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (latin5_turkish_ci,COERCIBLE), (latin5_turkish_ci,COERCIBLE) for operation 'replace'
bu uyarıyı alıyorum bu yöntemi deneyince. ne yapmam gerekir?
Öncelikle burda yazilanlarin cogu dogru degil hic bir program kulanmaniza gerek yok
yapacaginiz turkish utf8 dil dosyasi kulanmak ben yaptim sorunsuz oldu turkish dil dosyasi kulanirsaniz sorun yasarsiniz yedegi cpanelden alin phpmyadminden yükleyin yüklerken sadece utf secili olsun daha sonra yukarda arkadasinda bahsettigi gibi settings.php dosyasini acin en altta su kodu kontrol edin
$db_character_set = 'utf8';
burda mutlaka utf8 yazmasi gerekir ben denedim sorunsuzda oldu www.tatliruya.com/forum dileyen bakabilir
eger latin5 vs kulanirsaniz sorun yasarsiniz bu bahsetigim SMF 2.0 RC3 kurulumu icin gecerlidir diger kurulumlari denemedim yanlis bilgi vermek istemem SMF 2.0 RC2 - SMF 2.0 RC3 sürümlerinde denenmisdir
Herkese iyi calismalar...
Quote from: zeggy_557 on April 20, 2010, 11:44:05 AM
#1270 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (latin5_turkish_ci,COERCIBLE), (latin5_turkish_ci,COERCIBLE) for operation 'replace'
bu uyarıyı alıyorum bu yöntemi deneyince. ne yapmam gerekir?
11 yıl geçmiş ama birine lazım olur diye yazıyorum;
attachment tablosunun ve/veya filename sütunun karakter setini latin1_swedish_ci'den latin5_turkish_ci'ye çevirmen lazım diyor ama latin5 yerine utf8 yapmanı öneririm.
aşağıdaki sorguyu information_schema veritabanında çalıştırdığınızda tabloların hepsinin ve bütün sütunlarının karakter setini değiştirecek olan sorguları listeleyebilirsiniz.
SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as stmt
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = 'veritabani_adi'
ORDER BY 1
sonra üretilen sorgu satırlarını alıp phpmyAdmin'de istediğiniz veritabanı üzerinde çalıştırırsanız bütün tablolarınızın ve kolonlarınızın karakter seti değişecektir.