|
|
#1 (permalink) |
|
Üyelik Tarihi: 31.01.2007
Yer: Şanlıurfa
Mesaj: 16
|
SQL karakter seti sorunu
Merhabalar site de karakter seti olarak şimdiye kadar, windows-1254 kullanılmaktaydı, ve bunu UTF-8'e çevirmem gerekiyor. Fakat veritabanında sorun yaşıyorum. Tablonun mevcut karakter seti latin5_turkish_ci UTF-8'e uyumlu olması için latin1'e çevirmek istiyorum fakat mevcut verilerde Türkçe karakterler bozuk görünüyor maalesef. eski database'de metinler şu şekilde görünüyor Kod:
Altından kalkabiliriz sanırım hayatın. Yolumuz açık :) Kod:
Altından kalkabiliriz sanırım hayatın.Yolumuz açık :) çok uğraştım ama bu işin bir kısayolu olmalı diye düşünerek size sormak istedim. velhasıl, normal win-1254 ile kodlanmış metini nasıl UTF-8 uyumlu yapabilirim? Kullandığım CMS Wordpress 2.0.4 MySQL - 4.1.21 PHP - 4.4.4 Apache - 1.3.37 phpMyAdmin - 2.8.0.2
__________________
# pardonan.com Mesaj pardonan tarafından 06.02.2007 (01:02) yeniden düzenlendi. Açıklama: yazım yanlışı |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 05.12.2003
Yer: İstanbul
Mesaj: 899
|
Re: SQL karakter seti sorunu
PHP konusunda ahkam kesmek istemem ancak, bu tür bir istegi gerceklestirmek icin db de collation i degistirmen gerekmez.
dbden aldigin textleri ekrana yazdirirken ANSItoUTF8() yada LATINtoUTF8() turunde fonksiyonlar kullanmak gerekebilir. ASP.Net icin konusursak bu islem su sekilde yapiliyor. Response.Write methodu gecerli sayfanin codepage ine gore gelen metinleri otomatik olarak utf-8 ile ansi arasinda ceviriyor. |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 01.11.2000
Yer: İstanbul
Yaş: 27
Mesaj: 713
|
Re: SQL karakter seti sorunu
utf'e "on the fly" çevirebilirsin ama bu "overhead" olur. gereksiz olur yani. önce varolanı çevir.
tekstleri utf'e çeviren bir araç bul, SQL'i çevir, yeni veritabanın collation ayarını yap sonra import et.
__________________
life is better without braces |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 23.10.2005
Yer: Eregli
Yaş: 21
Mesaj: 60
|
Re: SQL karakter seti sorunu
Çalışma esnasında "runtime" karakter setini(charset) değiştirmek (change) istersen iconv() , mb_convert_encoding(); gibi fonksiyonlarla(native PHP functions) işi halledebilirsin.
Ama bu overhead olmasına rağmen tabii ki geçici ( temporary ) bir çözüm olabilir eğer hala yayında bir siten varsa.Veritabanı ( database ) tablolarında sorunu mutlaka çözmek lazım. Ustteki yaziya kisisel bir protesto :P
__________________
http://www.benzinliktekiadam.com |
|
|
|
|
|
#5 (permalink) |
|
Üyelik Tarihi: 06.07.2001
Yer: Ankara
Yaş: 33
Mesaj: 680
|
Re: SQL karakter seti sorunu
oncelikle latin5'den latin1'e cevirirsen bozulma olması normal zaten? latin1 latin5'in alt kumesi, yani daha az karakter olani. normalde direkt utf8_general ya da utf8_general_ci den birine cevirmen lazim. cevirdikten sonra SQL ile convert edilebilir data sanirim tablo icinde ama hic denemedim.
benim kullandigim yontem genelde stalker'in dedigi gibi datayi export et, tabloyu utf-8 yap. bir arac(Editplus) ile export ettigin datayi utf-8'e cevir ve import et. bu yontem her 2 yonde ise yariyor.
__________________
uzaytek.com |
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 10.02.2007
Yer: Ankara
Mesaj: 1
|
Re: SQL karakter seti sorunu
Merhaba arkadaşım,
Ben bu sorunu birkaç şekilde atlattım. Birincisi şöyle yapabilirsin; aç config dosyanı (veritabanı ile bağlantı yapan dosya) ordan "mysql_select_db" yazan yeri bul ve alt satıra: mysql_query("SET NAMES 'latin5'"); kodunu ekle. --------------------- İkincisi : PHP Code:
Dene bakalım gelişmeleri bekliyorum... Saygılarımla... |
|
|
|
|
|
#7 (permalink) |
|
Üyelik Tarihi: 31.01.2007
Yer: Şanlıurfa
Mesaj: 16
|
Re: SQL karakter seti sorunu
çok teşekkür ederim arkadaşlar cevaplar için.
xCodeRR'ın verdiği kod işe yaradı. sorunu çözdüm. xCodeRR kod için saol. arşivime aldım
__________________
# pardonan.com |
|
|
|
|
|
#8 (permalink) | |
|
Üyelik Tarihi: 15.03.2004
Yer: İstanbul
Yaş: 26
Mesaj: 84
|
Re: SQL karakter seti sorunu
Alıntı:
bu kod parçacıgı ile sadece türkçe karakterleri çeviriyorsunuz ama veritabanınızda bunlar gibi bir sürü tanımsız karakter çıkabilir. sağlıklı çözüm almak için iconv() , mb_convert_encoding() gibi fonksiyonları kullanmanızı öneririm. |
|
|
|
|
|
|
#9 (permalink) |
|
Üyelik Tarihi: 27.07.2005
Yer: istanbul - ankara
Yaş: 23
Mesaj: 337
|
Re: SQL karakter seti sorunu
tamamen aynı sorundan muzdıraptım; çok basit bir çözümü var:
PHP Code:
|
|
|
|
| Sponsorlu Bağlantılar | |
|
Zoque.Forum
Reklam
|
|
Zoque'a hoşgeldiniz!