MYSQL Türkçe Karakter Sorununa Kökten Çözüm [Karakter Değiştirme]

Started by temkick, April 30, 2007, 06:23:17 AM

Previous topic - Next topic

N_A_T_O

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

husmen73 (Gulhin)

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.
-Kurumsal Kimlik Web Tasarım Hizmeti.
Gülhin Portal Sistemi hakkında yorumlarınızı bekliyorum.
SMF
Referanslar --> http://www.gulhin.com/referanslar-portfoy/
-Web Tasarımı ve Tema Tasarımı Sitesi www.gulhin.com
-TOPLU MAİL GÖNDERİMİ --> http://www.toplumailsms.com
E-Ticaret Sistemi yaptırmak mı istiyorsunuz?

kurnaz

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 hxxp:www.manyaqgenclik.com [nonactive]    lütfen bana yardımcı olun msn adresimi veriyorum ekleyin lütfen minnettar olurum kurtarmam lazım bunu [email protected]


kontrolkalemi

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
KontrolKalemi.Com [nofollow] | LirikBank.Com [nofollow]

sancars

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..

dberdi

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

ACNS (Academy Certified Network Specialist)
ACAD (Academy Certified Application Developer (C++.NET, C#, J#, VB.NET, ASP.NET, JAVA))
ACEJD (Academy Enterprise Java Developer)
AACISM (Academy Advanced Certified In Information Systems Managament)
(Win2000/2003, Ms Sql Server 2000/2005)
ACISM (Academy Certified In Information Systems Managament)


(MCSA) Microsoft Certified Systems Administrator
(MCP) Microsoft Certified Professional

qwerty35

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

sifirforum.com

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.
SIFIR proudly hosted by servega

mmoturkiye

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...

uyelken

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 hxxp:www.forumcambazi.info [nonactive] r

nickimyoq

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ığı Ã?

can_bey_81

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.

22646

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.

βluΣ ЯosΣ

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


22646

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...

Özgür

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. :)
So Long

zeggy_557

#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?

KraL1

Ö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...
www.tatliruya.com
www.fenerbahce-cumhuriyeti.com
www.fenerbahcefm.org
www.turkiyesuperlig.net
www.tatlihost.com

yol

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.
Istanbul is Istanbul ;-)

Advertisement: