Kazayla UTF8 yapıp geri dönemediyseniz ne yaparsınız

Started by ayhansaritas, January 25, 2011, 09:40:37 AM

Previous topic - Next topic

ayhansaritas

Arkadaşlar Forumların her zaman ki 1. hastalığı burada da mevcut. Birisi bi konuda dertli ve çözüm arıyor diyelim.
Çözümü bulunca gelip buraya kimse yazmıyor. Hep ağlayanların gözyaşlarını görüyoruz burada. Kimseden bir tebessüm göremiyoruz desek yeridir. Çözüm var tabi bir çok noktada.

Ben derdimi çözdüm sonra geldim üye oldum sırf başı ağrayan arkadaşlar uğraşmasın diye.

Bu sabah kaşıntı tuttu ve SMF 1.2 forumu gittim ISO-8859 iken UTF-8 yaptım ve o an bittim. Forum dağıldı resmen. ÜYe girmesin diye dualar ettim.

Yaklaşık 6-7 saat uğraştıktan sonra kurtuldum bu işten.
Öncelikle bu işin tek tıkla kurtuluşu yok arkadaşlar. Sebebi şu. MYSQL üzerinde birçok tablo var ve bunların içindeki dataları manuple edip öyle utf8 e dönüştürüyor sistem. Bu yüzden geri dönmek daha bi zahmetli onu diyim.
Madem yola çıktınız UTF-8 e devam edin derim.

yapacaklarınız çok basit
1.Veritabanının Dil Seçeneklerini gidip kontrol edeceksiniz UTF8-General olması gerekiyor. Böylece multi language olacaktır.
2.SMF_Messages tablosundaki body,message kolonlarını UTF-8-General yapın. Böylece gelen mesajlarda patlamaz forum.
3.Bunu pool yani anketler için de yapın
3.Mesaj, kullanıcı, konu tablolarına girip türkçe fontu göremediğiniz bölümlere alttaki sql komutunu çakacaksınız.

messages kısmında body ve subject için mesela bunun olması gerek. user tablosunda kullanıcı adı ve ekran adlarında da sorunlar olabilir.
Pool tablosunda varsa anketlerinizde de sorunlar olabilir. buraları da düzenleyin.
Şifresini türkçe yazanlara bişey yapamazsınız bu arkadaşlar büyük ihtimalle yeni şifre maili isteyecekler.
Web hosting başkalarında ise PHPMyAdmin ile yapın. Yok erişebiliyorsanız ip adresine o zaman HEIDISQL ile yapın.

update `smf_boards` set `description` = replace(description, 'ý','ı');
update `smf_boards` set `description` = replace(description, 'ð','ğ');
update `smf_boards` set `description` = replace(description, 'þ','ş');
update `smf_boards` set `description` = replace(description, 'Ý','İ');
update `smf_boards` set `description` = replace(description, 'Þ','Ş');

benim gördüğüm bozuk harfler yukarıdakiler. Siz başka harflerde bozukluk görüyorsanız onlara da uygulayın. Aman dikkat edin "?" şeklindeki harflerde yapacak pek birşey yok oralara belkide tek tek müdahale edeceksiniz.

Neyse. Settings.php dosyasına da en alta bunu yazın ya da varsa değiştirin

$db_character_set = 'utf8';

Baktınız ki mesajlar düzeldi ama site menüsü ve forum temel metinleri bozuk.
hiç paniğe kapılmayın. Forum altındaki Themes/default/languages klasöründeki *****Turkish.php isimli tüm dosyaları bi alın bilgisayarınıza
notepad ile açıp farklı kaydet diyin en altta Kaydet butonunun solunda bir comboboxta ANSI göreceksiniz Kodlama yazar başında Orayı UTF-8 olarak değiştirin. tüm dosyaları kaydettikten sonra tekrar upload edin siteye.

%98 halloluyor
%2 lik kısım ise büyük İ ve küçük ı bunlara sadece messages tablosunun topic kısmında rastladım 4-5 tanesini elle düzelttim sorun kalmadı.

Dilerim herkese sorunsuz çıkar bu dertten
Ayhan

n[òF]bRò

şahsen utf olması arama motorları için yararlı arama sonuçlarında daha iyi sonuç veriyo bu yüzden dönmek istemem benn


www.q72.in

PLAYBOY

Arkadasim guzel aciklama ama peki biz sorunsuz, korkusuz utf yapmak istiyorsak nasil yapacagiz? Bunun kolay bir yolu yok mu? Illa mysql den giripde birton degisiklikmi yapmamiz gerekiyor?

A.Pearce

Quote from: PLAYBOY on February 08, 2011, 06:44:09 PM
Arkadasim guzel aciklama ama peki biz sorunsuz, korkusuz utf yapmak istiyorsak nasil yapacagiz? Bunun kolay bir yolu yok mu? Illa mysql den giripde birton degisiklikmi yapmamiz gerekiyor?

Güzel soru sormuşsun.

intFUSE

Quote from: PLAYBOY on February 08, 2011, 06:44:09 PM
Arkadasim guzel aciklama ama peki biz sorunsuz, korkusuz utf yapmak istiyorsak nasil yapacagiz? Bunun kolay bir yolu yok mu? Illa mysql den giripde birton degisiklikmi yapmamiz gerekiyor?

Hatırladığım kadarıyla UTF-8 dosyalarını FTP'ye atmanız gerekiyor. Sonrasında Mysql'den gerekli yerleri çevirmeniz lazım UTF-8'e. Ama yine de ne olur ne olmaz diye önceden tüm sistemin yedeğini hosting panelinizden alın.

PLAYBOY

Yedek almak sorun degilde yedegi yuklemek zaten saatleri aliyor. Bazen yedeklerde hatali cikiyor zaten. Ben bir yedegi yerlestirmek icin 3 gunumu verdigimi biliyorum, Bu sure zarfinda kac uye ve ziyaretci kaybettim Allah bilir.

Yani su ise adam akilli guzel ve kolay bir cozum bulamadilar bir turlu. En son 2.0 in tamamen utf-8 den olusmasi dusunuluyordu. ama gene yapmadilar.

Advertisement: