Ana Sayfa
Ana Sayfa Forumlar Dosyalar Dersler iletisim
 
   Kategoriler
ACPI [0]
Action Script [5]
Ajax [7]
ASP [17]
ASP.NET [23]
Assembly [3]
Bash [1]
C [4]
C# [9]
C++ [10]
Cobol [1]
Delphi [31]
Flash [5]
Html [9]
JAVA [36]
Java Script [12]
JSF [2]
Jsp [6]
Lua [1]
Matlab [2]
MySQL [30]
Oracle [1]
Pascal [31]
Perl [4]
Photoshop [2]
PHP [157]
Python [9]
REXX [6]
Ruby [1]
SEO [5]
Visual Basic [37]
PHP / charset & encoding problemleri
charset & encoding problemleri
Yazar: federal
Eklenme: 28/06/08    Okunma: 285    
 
 

merhaba arkadaşlar. hep teknikten bahsediyoruz ama açığa çıkan sorunlar hep başıma dert oluyor. birazda bu konuda yardım etmek istedim.

karakter set veya türkçe problemi ile sanırım herkes karşılaştı
forumda onlarca defa çözülmesine(?) rağmen bu konu hakkında hala yeni sorular geliyor
ya çözümünü anlatamıyoruz, ya da yeterli değil

karakterlerin hem düzgün görülmesi için hemde veritabanında doğru depolama yapmak için biraz
detaylı anlatmaya çalışacağım

1) öncelikle yazdığınız dosyalarının, kullandığınız editörün encoding değerine göre iç karakter
kodlama (internal encoding) değeri vardır
çoğu editör bu değeri işletim sisteminden   locale çevre değişkeninine bakarak seçer. windows
sistemlerde genellikle windows-1254 veya iso-8859-9 'dur.
bu dosyanın ( html , css , php , js .. ) içindeki text'in hangi encoding ile yazıldığını gösterir
2) http sunucusundan gönderilen çıktılar için default encoding değeri vardır, bu değer header
olarak gönderilir. sayfayı görüntüleyen kişinin kullandığı tarayıcı ( ie , ff .. ) body kısmını
parse ederken bu charset değerine göre işlem yapar. eğer bu header bilgisi bulunamassa bazı
tarayıcılar body içerisinde encoding bilgisi taşıyan meta etiketini arar.
bu değeri .htaccess ile :


 Kod Çizelgesi     Kod Dili: php
 AddCharset utf-8 .js .php .css .html



veya php'de header fonksiyonunu kullanarak


 Kod Çizelgesi     Kod Dili: php
header('Content-Type: text/plain; charset=utf-8');



değiştirebilirsiniz
bu kısım çok önemlidir, zira haricindeki şeyleri doğru yapmanız bile karakterlerin hatalı
gözükmesine neden olabilir
ayrıca kullanıcı post / get gibi isteklerde sunucuya gönderdiği verileri bu encoding değerinde
gönderir

3) mysql 4.1 ve üst versiyon sunucuda karakter set ile ilgili değişkenler;
- server character set & collation
eğer sunucu yönetimi ile işiniz yoksa bu kısmı atlayabilirsiniz
mysql'i kurmadan önce configure parametresi olarak


 Kod Çizelgesi     Kod Dili: php
bash#./configure --with-charset=utf8 --with-collation=utf8_unicode_ci



veya mysql'i başlatırken


 Kod Çizelgesi     Kod Dili: php
bash#mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci



- database character set & collation


 Kod Çizelgesi     Kod Dili: php
 create database db character set utf8 collate utf8_unicode_ci;



eğer belirtmesseniz server değişkenleri kullanılacaktır

- table character set & collation


 Kod Çizelgesi     Kod Dili: php
   1.  create table test(
   2.      c1 int(5) unsigned
   3.  ) character set utf8 collate utf8_unicode_ci;



eğer belirtmesseniz database değişkenleri kullanılacaktır

- column character set & sollation


 Kod Çizelgesi     Kod Dili: php
# create table test(

#      c1 text character set utf8 collate utf8_unicode_ci

#  );



eğer belirtmesseniz table değişkenleri kullanılacaktır

- connection character set & collation
character_set_client , character_set_results , character_set_connection, collation_connection


 Kod Çizelgesi     Kod Dili: php
   1.  $mysqli->set_charset('utf8');
   2.  // veya
   3.  $mysqli->query('set names "utf8" collate "utf8_unicode_ci"');




 Kod Çizelgesi     Kod Dili: php
   1.  <?php
   2.  
   3.  $m 
= new mysqli('localhost','user','pass','db');
   
4.  
   5.  
//$m->set_charset('utf8');
   
6.  
   7.  $m
->query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");
   
8.  
   9.  $query 
$m->query('show variables like "char%"');
  
10.  
  11.      
if ($query) {
  
12.          while ($row $query->fetch_row()) {
  
13.              echo $row[0].' => '.$row[1]."\n";
  
14.          }
  
15.      }
  
16.  
  17.  ?>




 Kod Çizelgesi     Kod Dili: php
# character_set_client => utf8

#  character_set_connection => utf8

#  character_set_database => utf8

#  character_set_filesystem => binary

#  character_set_results => utf8

#  character_set_server => latin1

#  character_set_system => utf8

#  --

#  collation_connection => utf8_unicode_ci

#  collation_database => utf8_unicode_ci

#  collation_server => latin1_swedish_ci



mümkün olduğunca heryerde ortak karakter set veya encoding kullanmak gerekiyor

herkese iyi günler. bazı kodlar çıktı, döküm şeklinde ki onu ayırt edebilirsiniz...


Taglar: PHP De ereg ve eregi soundex fonksiyonu - php 10 Dk da Php Site Yap 32-bit sifreleme algoritmasi array_count_values komutuna giris Array_map komutu ile devasa kolayliklar Baska Hosttan Sunucuya Dosya Yukleme Belirledigimiz Suredeki Verileri Listelemek charset & encoding problemleri COOKIE Tanimlama Bilgisi nedir ctype_alpha ve ctype_alnum Fonksiyonu Degisken Nedir Nasil Kullanilir Degiskenler Dizi Degiskenler, Tek ve Cok Boyutlu Diziler dowhile dongusu Dosya Kontrolleri Dosya konumu file Path ve konum ayristirma URL Parsing ffmpeg-php api dokumentasyon for dongusu foreach dongusu Formdan Bilgi Alma Get Methodu Ile Profil Sistemi Yapalim GZIP Kutuphanesi ile Daha Hizli Sayfalar Htaccess Ile Korumali Sayfalar Olusturmak HTML Dosyalarinin Icine Php Kodlarini Ekleme

Isminiz:
E-mail adresiniz:
Güvenlik Kodu:
  
 

 

   Görsel Dersler
Asp [59]
Asp.Net [5]
Csharp [33]
Delphi [85]
Delphi 7 [0]
Dreamweaver [45]
DW ile ASP Uygulamaları [28]
English Lessons [52]
Fireworks [4]
Flash [16]
HTML [20]
Java Script [0]
MS Access [19]
MS FrontPage [11]
Photoshop [32]
PHP [99]
Python [3]
SolidWorks [25]
Think Design [26]
VB Script [32]
Vb.Net [37]
Visual Basic [4]
   Giriş Yap
Kullanici Adi

Sifre

Üye Ol
   Dosyalar
WestByte SeaWar
Google Talk
Graphic Converter 2003
ShowImg
Zen Puzzle Garden
Maxthon (MyIE2) Türkçe Yama
Awicons Standart
AKINSOFT Kurs Otomasyonu
AKINSOFT AsPing
DVD Santa
   Duyurular
Duyuru1
Duyuru2
   Haberler
Haber1
Haber2
Ana Sayfa Php Nuke Resmi Web Sitesi
Php Nuke Tema Tasarim Sitesi Php Nuke Tema Tasarim Sitesi
Ana Sayfa Forumlar Dosyalar Hesabiniz iletisim
Tema Tasarim : Halil Ibrahim Kalkan webmaster forumu Web Stats