[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
Nuri Akman wrote On 24-11-2009 10:24: > MySQL database'de Latin5 olarak oluşturulmuş bir tablom var. Bu > tablodaki verileri UTF-8 formatlı bir PHP dosyamda kullanmka istediğimde > TR karakterler bozuk geliyor. Dosyanın UTF-8 olan türünü ANSI yapınca da Mysql'e bağlantıyı sağladığınız mysql_connect'ten sonra aşağıdaki iki komutu o php dosyanıza eklemeyi dener misiniz? mysql_query ("SET CHARACTER SET latin5"); mysql_query ("SET collation_connection = 'latin5_turkish_ci'"); Bu Mysql'den gelen metinlerin latin5 gelmesini sağlamalı, sorununuzu doğru anladıysam... -- Alper Oğuz alp...@oguz.biz ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
Merhabalar Tablolarınızı utf8_general_ci çekin. Daha sonra my.cnf dosyası içerisine mysqld betiği altına *default*-*character*-*set*=utf8 yazın. hemen bunun altına character-sets-dir girin ve dil dosyalarının yolunu belirtin. character-sets-dir = /usr/share/mysql/charset gibi.. Çalışacaktır. Aynı sorun bende vardı bu yolla giderdim. Kolay gele 24 Kasım 2009 13:46 tarihinde Nuri Akman yazdı: > Şimdi, genel bir sorum olacak: > > Açıkçası bugüne kadar tamamen UTF-8 kullanan bir uygulamam olmadı :( > > PHP + MySQL web uygulamalarımı yaparken .PHP, .JS ve .HTML gibi > dosyalarımın encoding'ini UTF-8 (BOM'lu) olarak mı vermeliyim? yoksa ANSI > UTF-8 (BOM'suz). > > Ayrıca, MySQL'i de *utf8* ve *utf8_turkish_ci* olarak mı tanımlamalıyım? > > Bu belirttiklerimi yaptığımda elde edeceğim uygulamam UTF-8'i sorunsuz > olarak kullanıyor olabilecek mi? > > Selamlar... > > > serdar güler yazmış: > > UTF-8 in göre text,varchar, char vs. karakter depolarken latin5 e > göre 3 kat fazla alan kapladığını da bir ek bilgi olarak verelim, > çünkü bu durum büyük tablolarda önceden öngörülemeyen yer > sıkıntılarına sebep olabiliyor. > > > 2009/11/24 Ali Rıza Keleş : > > > On Tue, 2009-11-24 at 12:11 +0200, Omer Barlas wrote: > > > serdar güler @ 24-11-2009 12:08: > > > mysql deki latin5 kodlama olarak ISO-8859-9 a denk geliyor. > Bu durumda 2 çözümünüz var. ya tablonunuzun encoding i değiştirip > utf-8 yapacaksınız, ya da okurken utf-8 olarak okumaya çalışacaksınız. > ya da php dosyanızın encodingini ISO-8859-9 olarak değiştireceksiniz. > > > veritabanını dump edin, daha sonra herhangi bir metin düzenleyici ile -geany > mesela- utf-8 olarak kaydedin, ve dump ettiğiniz veriyi encodingini > utf8_general_ci olarak düzelttiğiniz tablonuza tekrar yükleyin. problem > yüksek ihtimalle düzelecektir. > > > > +1 > > Bence de en güzeli veritabanındaki datayı utf 8 e çevirmek. En kalıcı > çözüm bu. Diğer türlü uygulamayı zorlamanız gerekir. Daha ilerde > değişiklik yapmak istediğinizde yine karşınıza problem olarak çıkabilir. > > -- > Ali Rıza > > ___ > Linux-programlama mailing > listlinux-programl...@liste.linux.org.trhttp://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > > ___ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > -- Erdal YAZICIOGLU System & Network Engineer Page Europa S.R.L - General Dynamics www.pageuropa.it Office - Rome : +39 0650395292 Mobile -Rome : +39 3490787196 Mobile -Istanbul: +90 536 3447989 ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
Şimdi, genel bir sorum olacak: Açıkçası bugüne kadar tamamen UTF-8 kullanan bir uygulamam olmadı :( PHP + MySQL web uygulamalarımı yaparken .PHP, .JS ve .HTML gibi dosyalarımın encoding'ini UTF-8 (BOM'lu) olarak mı vermeliyim? yoksa ANSI UTF-8 (BOM'suz). Ayrıca, MySQL'i de *utf8* ve *utf8_turkish_ci* olarak mı tanımlamalıyım? Bu belirttiklerimi yaptığımda elde edeceğim uygulamam UTF-8'i sorunsuz olarak kullanıyor olabilecek mi? Selamlar... serdar güler yazmış: UTF-8 in göre text,varchar, char vs. karakter depolarken latin5 e göre 3 kat fazla alan kapladığını da bir ek bilgi olarak verelim, çünkü bu durum büyük tablolarda önceden öngörülemeyen yer sıkıntılarına sebep olabiliyor. 2009/11/24 Ali Rıza Keleş : On Tue, 2009-11-24 at 12:11 +0200, Omer Barlas wrote: serdar güler @ 24-11-2009 12:08: mysql deki latin5 kodlama olarak ISO-8859-9 a denk geliyor. Bu durumda 2 çözümünüz var. ya tablonunuzun encoding i değiştirip utf-8 yapacaksınız, ya da okurken utf-8 olarak okumaya çalışacaksınız. ya da php dosyanızın encodingini ISO-8859-9 olarak değiştireceksiniz. veritabanını dump edin, daha sonra herhangi bir metin düzenleyici ile -geany mesela- utf-8 olarak kaydedin, ve dump ettiğiniz veriyi encodingini utf8_general_ci olarak düzelttiğiniz tablonuza tekrar yükleyin. problem yüksek ihtimalle düzelecektir. +1 Bence de en güzeli veritabanındaki datayı utf 8 e çevirmek. En kalıcı çözüm bu. Diğer türlü uygulamayı zorlamanız gerekir. Daha ilerde değişiklik yapmak istediğinizde yine karşınıza problem olarak çıkabilir. -- Ali Rıza ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
UTF-8 in göre text,varchar, char vs. karakter depolarken latin5 e göre 3 kat fazla alan kapladığını da bir ek bilgi olarak verelim, çünkü bu durum büyük tablolarda önceden öngörülemeyen yer sıkıntılarına sebep olabiliyor. 2009/11/24 Ali Rıza Keleş : > On Tue, 2009-11-24 at 12:11 +0200, Omer Barlas wrote: >> serdar güler @ 24-11-2009 12:08: >> > mysql deki latin5 kodlama olarak ISO-8859-9 a denk geliyor. >> > Bu durumda 2 çözümünüz var. ya tablonunuzun encoding i değiştirip >> > utf-8 yapacaksınız, ya da okurken utf-8 olarak okumaya çalışacaksınız. >> > ya da php dosyanızın encodingini ISO-8859-9 olarak değiştireceksiniz. >> >> veritabanını dump edin, daha sonra herhangi bir metin düzenleyici ile -geany >> mesela- utf-8 olarak kaydedin, ve dump ettiğiniz veriyi encodingini >> utf8_general_ci olarak düzelttiğiniz tablonuza tekrar yükleyin. problem >> yüksek ihtimalle düzelecektir. >> > +1 > > Bence de en güzeli veritabanındaki datayı utf 8 e çevirmek. En kalıcı > çözüm bu. Diğer türlü uygulamayı zorlamanız gerekir. Daha ilerde > değişiklik yapmak istediğinizde yine karşınıza problem olarak çıkabilir. > > -- > Ali Rıza > > ___ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > -- Serdar Güler ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
"...ya da okurken utf-8 olarak okumaya çalışacaksınız..." *Bunu nasıl yapabilirim?* serdar güler yazmış: mysql deki latin5 kodlama olarak ISO-8859-9 a denk geliyor. Bu durumda 2 çözümünüz var. ya tablonunuzun encoding i değiştirip utf-8 yapacaksınız, ya da okurken utf-8 olarak okumaya çalışacaksınız. ya da php dosyanızın encodingini ISO-8859-9 olarak değiştireceksiniz. kolay gelsin 2009/11/24 Nuri Akman : Malesef bu çözüm olmadı... Atıf CEYLAN yazmış: Merhaba, veritabanı bağlantısını yaptıktan sonra 1 kez çalıştırılmak üzere *mysql_query("SET NAME 'UTF-8'");* olarak deneyin. Kolay gelsin. Nuri Akman wrote: Arkadaşlar, MySQL database'de Latin5 olarak oluşturulmuş bir tablom var. Bu tablodaki verileri UTF-8 formatlı bir PHP dosyamda kullanmka istediğimde TR karakterler bozuk geliyor. Dosyanın UTF-8 olan türünü ANSI yapınca da ekrandaki diğer yazılar bozuluyor. Bu sorunu MySQL'deki tablomu UTF-8'e çevirmeden çözebileceğim bir metod var mıdır? Selamlar, Nuri Akman ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
mysql deki latin5 kodlama olarak ISO-8859-9 a denk geliyor. Bu durumda 2 çözümünüz var. ya tablonunuzun encoding i değiştirip utf-8 yapacaksınız, ya da okurken utf-8 olarak okumaya çalışacaksınız. ya da php dosyanızın encodingini ISO-8859-9 olarak değiştireceksiniz. kolay gelsin 2009/11/24 Nuri Akman : > Malesef bu çözüm olmadı... > > Atıf CEYLAN yazmış: > > Merhaba, > veritabanı bağlantısını yaptıktan sonra 1 kez çalıştırılmak üzere > > *mysql_query("SET NAME 'UTF-8'");* > > olarak deneyin. > > Kolay gelsin. > > Nuri Akman wrote: > > > Arkadaşlar, > > MySQL database'de Latin5 olarak oluşturulmuş bir tablom var. Bu > tablodaki verileri UTF-8 formatlı bir PHP dosyamda kullanmka istediğimde > TR karakterler bozuk geliyor. Dosyanın UTF-8 olan türünü ANSI yapınca da > ekrandaki diğer yazılar bozuluyor. > > Bu sorunu MySQL'deki tablomu UTF-8'e çevirmeden çözebileceğim bir metod > var mıdır? > > Selamlar, > Nuri Akman > ___ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > > > > > ___ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > -- Serdar Güler ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
Malesef bu çözüm olmadı... Atıf CEYLAN yazmış: Merhaba, veritabanı bağlantısını yaptıktan sonra 1 kez çalıştırılmak üzere *mysql_query("SET NAME 'UTF-8'");* olarak deneyin. Kolay gelsin. Nuri Akman wrote: Arkadaşlar, MySQL database'de Latin5 olarak oluşturulmuş bir tablom var. Bu tablodaki verileri UTF-8 formatlı bir PHP dosyamda kullanmka istediğimde TR karakterler bozuk geliyor. Dosyanın UTF-8 olan türünü ANSI yapınca da ekrandaki diğer yazılar bozuluyor. Bu sorunu MySQL'deki tablomu UTF-8'e çevirmeden çözebileceğim bir metod var mıdır? Selamlar, Nuri Akman ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: MySQL Latin5 ile kaydedilmiş tablo verilerin i UTF-8 ile kullanma
Merhaba, veritabanı bağlantısını yaptıktan sonra 1 kez çalıştırılmak üzere *mysql_query("SET NAME 'UTF-8'");* olarak deneyin. Kolay gelsin. Nuri Akman wrote: > Arkadaşlar, > > MySQL database'de Latin5 olarak oluşturulmuş bir tablom var. Bu > tablodaki verileri UTF-8 formatlı bir PHP dosyamda kullanmka istediğimde > TR karakterler bozuk geliyor. Dosyanın UTF-8 olan türünü ANSI yapınca da > ekrandaki diğer yazılar bozuluyor. > > Bu sorunu MySQL'deki tablomu UTF-8'e çevirmeden çözebileceğim bir metod > var mıdır? > > Selamlar, > Nuri Akman > ___ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > -- /** * @author Atıf CEYLAN * Software Developer * http://www.atifceylan.com */ ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php