News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

UTF-8 Dönüşümü Sonrası Şifre sorunları ve Kısmi Çözümü

Started by mktek, August 30, 2016, 08:09:55 AM

Previous topic - Next topic

mktek

SMF'de utf8 için en çok kaynak gösterilen konu budur:

http://www.simplemachines.org/community/index.php?topic=109175.0

ve ne yazık ki bu konu yıllardır utf8'e karşı olumsuz duruş sunmuştur. SMF'ye yeni başlayacaklar için kesinlikle UTF8 kullanmalarını, hatta forumunuz küçükse mutlaka ilk fırsatta geçiş yapmalarını tavsiye ediyorum. Eğer UTF8 kullanılmazsa SMF 2.0.X'den sonra ufak tefek yazılımsal sorunlar yaşamaya başlarsınız.

Eğer geçişi düşünürseniz büyük forumlarda "kitabına uygun" geçiş yapsanız dahi kimsenin görmediği, kimsenin bilmediği çok ciddi bir sorunla karşılaşacaksınız. Sanırım bu sorunu ilk fark edip bahseden kişiyim.

UTF8 olmayan Türkçe forumda sitenize şükrü, sukru, şukru, şükru, sükru gibi farklı üyelikler alınabilir. Bu üyelikler size abartılı geldiyse öğretmen/ogretmen, hüseyin/huseyin gibi üyelikleri düşünebilirsiniz.

UTF8 sitelerde ise bu şekilde benzer üyelik alamazsınız, sistem size izin vermez.

Peki Türkçe sitenizde huseyin ve hüseyin adında iki üyelik varsa ve siz UTF8'e sonradan çevirseniz ne olur?

Başınıza büyük bir bela alırsınız! Peki neden?

UTF8 sitelerde karşılaştırma otomatik olarak utf8_general_ci olur. Bu karşılaştırma huseyin ve hüseyin üyeliklerini aynı görür. Bu üyeler siteye giriş yaptıklarında önce hangi üyelik alınmışsa o üyelik ile giriş yapabilir ama diğeri sürekli şifre sorunu yaşar. Şifre doğru olsa bile, admin panelinden güncelleseniz dahi ikinci alınan üyelik foruma asla giriş yapamayacaktır.

Sorunun bu kısmı için çözüm şudur:

smf_members tablosunda member_name ve real_name sütunlarının karşılaştırmasını utf8_general_ci'den utf8_turkish_ci'ye çevirmeniz gerekiyor. Tabi bu 2 sütunda index olduğu için önce indexi silmeniz, sonra dönüştürmeniz en sonda ise tekrar index eklemelisiniz.

Aynı şekilde smf_messages tablosunda poster_name sütunu utf8_turkish_ci olmalı. smf_personel_messages tablosunda from_name bu şekilde değiştirilmeli.

Peki bu çözüm yetti mi? Ne yazık ki kısmı çözüm olsa bile yeterli değil!

Daha işin büyük harf sorununu çözmek gerekiyor. Örneğin "İzmir" ve "izmir" isimli 2 üyelik varsa yine sorun yaşanıyor. Buna da çözüm bulursam burada yazmaya çalışacağım.

a1bay

Ben çok büyük sıkıntılarla karşılaştım dönüştürürken  en son sinirlendim sildim tekrar kurdum utf8 olarak

tarantula901

utf8 geçiş yaparken eksik geçiş yaptığınızdan dolayı bu sorunu yaşamış olabilirsiniz .çünkü isodan utf8 çok geçtim herhangi bir sorunla karşılaşmadım.

Antes

Aslında hali hazırda sitelerinizin eski birer kopyası varsa, SMF 2.1'e güncellemeyi deneyebilir misiniz? En son paketi https://github.com/SimpleMachines/SMF2.1/archive/release-2.1.zip adresinden edinebilirsiniz. Önemli bir nokta, güncellenecek sitenin UTF8 olmaması gerekmektedir.

mktek

Quote from: tarantula901 on September 08, 2016, 04:08:31 AM
utf8 geçiş yaparken eksik geçiş yaptığınızdan dolayı bu sorunu yaşamış olabilirsiniz .çünkü isodan utf8 çok geçtim herhangi bir sorunla karşılaşmadım.

Sorun eksik geçişle ilgili değil. Bu sorunu yaşamamışsanız muhtemelen, geçiş yaptığınız forumlarda öğretmen/ogretmen, huseyin/hüseyin gibi aktif üyelik çiftleri olmamıştır. Sorunun kaynağı utf-8 ve Türkçe'nin kendisinden kaynaklanıyor.

İsterseniz kendiniz deneyebilirsiniz:

iso sitenize ülkü, ülku, ulkü, ulku üyeliklerinin tamamını kayıt edebilirsiniz.

utf-8 sitenize ise bu 4 üyelikten sadece birini kayıt edebilirsiniz.

Eğer iso sitenizde bu 4 üyelik varsa ve siz utf-8'e çevirirseniz, bu 4 üyeden sadece biri, daha doğrusu member_id değeri en küçük olan, ilk kayıt olan siteye giriş yapabilir ama diğerleri asla giriş yapamaz. Ne yaparsanız yapınız....

Neredeyse 2 aydır bununla uğraşıyorum. Bunun sebebi "utf8_general_ci" karşılaştırmasıdır. Bu otomatik olarak belirtilir. Bu karşılaştırma ü ile u gibi benzer Türkçe karakterleri eşdeğer görür. Eş değer gördüğü için de giriş yapmaya çalıştığınızda her zaman ülkü, ülku, ulkü, ulku üyeliklerinin ilkine giriş yapmaya çalışır.

Bunun çözümü ise utf8_general_ci değerlerini (sadece üyelikle alakalı olan yerlerde) utf8_turkish_ci yapma ile çözülür.

Quote from: Antes on September 08, 2016, 08:31:47 AM
Aslında hali hazırda sitelerinizin eski birer kopyası varsa, SMF 2.1'e güncellemeyi deneyebilir misiniz? En son paketi https://github.com/SimpleMachines/SMF2.1/archive/release-2.1.zip adresinden edinebilirsiniz. Önemli bir nokta, güncellenecek sitenin UTF8 olmaması gerekmektedir.

Antes teşekkürler ama bugün nedense daha da hırslandım ve en sonunda ikinci büyük sorunu çözdüm. LogInOut.php dosyasında gözden kaçan basit gibi görünen ama binlerce üyeyi mağdur eden sorunu buldum.

http://www.simplemachines.org/community/index.php?topic=548530.0

Antes

@mktek ne yazık ki bizim elimizde UTF8 olmayan bir veritabanı yok, açıkçası benim artık SMF forumum bile yok. Çevremdeki forumların tamamı zaten UTF8 olarak kurulmakta. O yüzden üyelerimizden bu yükseltmeyi denemelerini istiyoruz (ayrı bir alanda veya localhostta). Bu şu an için Türkçe bölümde yapılıyor. İlerleyen zamanlarda diğer dillerin utf8 kurulmamış forumlarınında aynı işlemi yapmalarını rica edeceğiz.

Takdir edersiniz ki, yüzbinlerce kombinasyonun tarafımızca denenmesi imkansıza yakındır, ve eğer merak edenler var ise bu forum UTF8 kodlaması kullanmaktadır. O yüzden bu forumu doğrudan güncelleme testlerine dahil edemiyoruz.

mktek

@Antes, kullandığımız aktif forumu doğrudan 2.1'e yükseltmek için günlerce uğraşmam gerekir. Yine de elimden ne geliyorsa yapmaya çalışacağım. Herşey için teşekkürler.

Antes

Quote from: mktek on September 08, 2016, 02:14:40 PM
@Antes, kullandığımız aktif forumu doğrudan 2.1'e yükseltmek için günlerce uğraşmam gerekir. Yine de elimden ne geliyorsa yapmaya çalışacağım. Herşey için teşekkürler.

Mevcut forumunuzu değil, onun bir lokal kopyasını 2.1'e güncelleyin. Tamamen deneme amaçlı.

mktek

Quote from: Antes on September 08, 2016, 02:21:52 PM
Quote from: mktek on September 08, 2016, 02:14:40 PM
@Antes, kullandığımız aktif forumu doğrudan 2.1'e yükseltmek için günlerce uğraşmam gerekir. Yine de elimden ne geliyorsa yapmaya çalışacağım. Herşey için teşekkürler.

Mevcut forumunuzu değil, onun bir lokal kopyasını 2.1'e güncelleyin. Tamamen deneme amaçlı.

Sırf sizin hatrınıza yapmaya çalışacağım ama bir aksilik olmazsa bu haftasonu. Veritabanı çok çok büyük. Eski yedekler, kopyası, dönüşümü vb. kolay olmayacak.

kmy

Quote from: Antes on September 08, 2016, 02:21:52 PM
Quote from: mktek on September 08, 2016, 02:14:40 PM
@Antes, kullandığımız aktif forumu doğrudan 2.1'e yükseltmek için günlerce uğraşmam gerekir. Yine de elimden ne geliyorsa yapmaya çalışacağım. Herşey için teşekkürler.

Mevcut forumunuzu değil, onun bir lokal kopyasını 2.1'e güncelleyin. Tamamen deneme amaçlı.

Merhaba.
Deneme amaçlı yaptım. Forum menülerinde yani "Yönetim" "Çıkış" gibi kısımları normal çalışıyor. Ancak kullanıcı isimleri ve kullanıcılar (üyeler) tarafından yazılmış olan yazılardaki büyük ve küçük olmak üzere  "ğ" , "ı",  "ş" harflerinde sorun var. "Ö" ve "ü" de sorun yok.   Kategori isimlerinde de aynı sıkıntı var.

Örnek: (Büyük - küçük tüm Türkçe karakterlerden örnek vermeye çalıştım) :

Forum menüleri :
Ara

Yönetim

Moderasyon
Rapor Edilmiş İletiler
Raporlanan Üyeler

Takvim

Üyeler

Çıkış


Kullanıcı adları ve yazıları: 
" Mustafa COÞKUN"

"26 Aralýk 2014"
"BÝRÝNCÝ BÖLÜM"
"sayýlý cetvelde yer alan düzenleyici ve denetleyici kurumlara 3.212.692.000 Türk lirasý,ödenek verilmiþtir"
"u Kanuna baðlý cetveller aþaðýda gösterilmiþtir:"
"ÜÇÜNCÜ BÖLÜM"
"Ýlgili yýllar bütçe kanunlarý uyarýnca, yürütülmesi öngörülen projeler için Savunma Sanayii Destekleme Fonuna aktarýlan tutarlardan kullanýlmayan kýsýmlar, "
"Þýrnak Üniversitesi"           


Not: Eklenti isimlerine hiç bakamadım.
Kolay gelsin.

tarantula901

bu sorun ne yaptıktan sonra ortaya çıktı.

sitenizi tam olarak inceleyecektim ancak bir link bulamadım

siteniz utf8 mi kurulu yoksa isomu tam olarak bunları bılmedıgım ıcın bır c evap yazamıyorm

Antes

@kmy

Bakım bölümünde UTF8'e dönüştürme seçeneği var onu da çalıştırır mısın ?

kmy

Quote from: tarantula901 on April 04, 2017, 10:43:36 AM
bu sorun ne yaptıktan sonra ortaya çıktı.

sitenizi tam olarak inceleyecektim ancak bir link bulamadım

siteniz utf8 mi kurulu yoksa isomu tam olarak bunları bılmedıgım ıcın bır c evap yazamıyorm

Merhaba. Aslında bir sorun yok. Sadece @Antes "deneme amaçlı" dediği için -boş vaktim vardı- denedim. Normal sitemde smf 2.0.13  ve ISO-8859-9 kurulu.

@Antes verdiğiniz linteki ve http://download.simplemachines.org/ adresindeki sitedeki upgrade dosyalarını ayrı olarak denedim. Ama maalesef dosyaları geri sildim. 

Kolay gelsin.
 

 

Antes

@kmy ilerleyen zamanlarda eş anlı olarak çalışabiliriz. Denemek istediğim bi kaç farklı kombinasyon mevcut, eğer düşündüğüm kombinasyonlardan bir tanesi utf8 karakter sorununu çözer ise, bunu yama olarak RC1 veya RC2 sürümlerinde getirmeyi düşünüyoruz.

Vakit ayırdığınız ve bize yardımcı olduğunuz için çok teşekkür ederiz :)

Advertisement: