lostyazilim
tr.link

Php'de Türkçe Karakter Sorunu [YARDIM]

9 Mesajlar 8.421 Okunma
acebozum
tr.link

bsakizli bsakizli Bilgisayar Programcısı Kullanıcı
  • Üyelik 17.01.2012
  • Yaş/Cinsiyet 29 / E
  • Meslek Yönetim Bilişim Sistemleri Uzm
  • Konum
  • Ad Soyad B** S**
  • Mesajlar 925
  • Beğeniler 102 / 79
  • Ticaret 2, (%100)
Hocam php ile bir sistem yaptım sisteme üye olurken Ad ve Soyad bilgilerini alıyorum kullanıcılardan Örnek: Barış SAKIZLI adında bir isim ve soyisim giriyorum daha sonra bu isim veri tabanında kayıt oluyor kullanıcı sisteme girdiğinden sonra Hoş Geldin Barış SAKIZLI olarak ad ve soyad değişkenleri çağırıyorum ama ne yazık ki ş,ı,ç gibi harfler bir garip görünüyor bunu nasıl yapabilirim acaba bu sorun neyden kaynaklanıyor ?
 

 

elektronikssl
webimgo

LadyArch3r LadyArch3r Web Developer Kullanıcı
  • Üyelik 02.04.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Developer
  • Konum Antalya
  • Ad Soyad B** K**
  • Mesajlar 930
  • Beğeniler 60 / 102
  • Ticaret 3, (%100)
veritabanı dili utf8_general_ci olsun ve baglan.php nize

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");


bunları ekleyin.

Ayrıca kodlama yaptığınız sayfaları notepad++ ile utf-8 boomsuz olarak dönüştürün.
Webolye Osman

kişi bu mesajı beğendi.

bsakizli bsakizli Bilgisayar Programcısı Kullanıcı
  • Üyelik 17.01.2012
  • Yaş/Cinsiyet 29 / E
  • Meslek Yönetim Bilişim Sistemleri Uzm
  • Konum
  • Ad Soyad B** S**
  • Mesajlar 925
  • Beğeniler 102 / 79
  • Ticaret 2, (%100)

LadyArch3r adlı üyeden alıntı

veritabanı dili utf8_general_ci olsun ve baglan.php nize

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");


bunları ekleyin.

Ayrıca kodlama yaptığınız sayfaları notepad++ ile utf-8 boomsuz olarak dönüştürün.


Teşekkürler hocam bilgi ve kodlar için deneyeceğim tekrar sağol :)

Ek Olarak: Hocam CPanelden baktım dil utf8_general_c olarak veri tabanı bağlantısı yaptığım dosyaya da verdiğiniz kodları ekledim ancak olmadı hata verdi başka bir yolu yokmudur acaba ?
LadyArch3r

kişi bu mesajı beğendi.

LadyArch3r LadyArch3r Web Developer Kullanıcı
  • Üyelik 02.04.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Developer
  • Konum Antalya
  • Ad Soyad B** K**
  • Mesajlar 930
  • Beğeniler 60 / 102
  • Ticaret 3, (%100)
Ayrıca kodlama yaptığınız sayfaları notepad++ ile utf-8 boomsuz olarak dönüştürün. denedinizmi
 

 

wmaraci
wmaraci

Haymac Haymac ~ Emekli Admіnіstrator Kullanıcı
  • Üyelik 19.03.2012
  • Yaş/Cinsiyet - / E
  • Meslek Coder
  • Konum
  • Ad Soyad ** **
  • Mesajlar 11
  • Beğeniler 2 / 6
  • Ticaret 0, (%0)
Bu işin 3 ayağı var,

birincisi mysql, utf8 turkish ci yapmanızı tavsiye ederim

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_turkish_ci'");


ikinci ayağı dosyanın utf8 without bom olması

üçüncü ayağı html ile gönderilen meta charset, bunuda utf8 yapmanızı tavsiye ederim.

php için her sayfaya include edilen dosyanıza bunu ekleyebilirsiniz mesela

header ('Content-type: text/html; charset=utf-8');
bsakizli

kişi bu mesajı beğendi.

haymi was here.

cristogi cristogi WM Aracı Kullanıcı
  • Üyelik 13.04.2012
  • Yaş/Cinsiyet 40 / E
  • Meslek Grafik Tasarım
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 237
  • Beğeniler 77 / 43
  • Ticaret 7, (%100)
Çok uğraştıran ama çözümü aslında çok kolay olan, her yazılımcının yaşadığı bir sorun bu.
Yapmanız gereken "LadyArch3r" ın verdiği kodları bağlantı dosyanızın içine yerleştirmek.
Böylelikle hem databaseye kaydederken türkçe kaydediyor, hemde çekip görüntülediğinizde
 

 

inter inter WM Aracı Kullanıcı
  • Üyelik 05.10.2013
  • Yaş/Cinsiyet 42 / E
  • Meslek memur
  • Konum Karaman
  • Ad Soyad ** **
  • Mesajlar 32
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
işe yaradı hea, Allah razı olsun..bu arada benim gibi pdo kullanmaya karar verdiyseniz kodda şöyle bi değişiklik yapmak gerekiyor:

$db = new PDO($dsn,$user,$password);
$db->query("SET NAMES utf8");
$db->query("SET CHARACTER SET utf8");
$db->query("SET COLLATION_CONNECTION = \"utf8_turkish_ci\"");
 

 

kısa filmleri ve senaryolarını bulabileceğiniz bir site:
www.yazalimcekelim.com

Anilcanc Anilcanc Yazılım Geliştiricisi Kullanıcı
  • Üyelik 03.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad A** Ç**
  • Mesajlar 27
  • Beğeniler 0 / 13
  • Ticaret 0, (%0)

inter adlı üyeden alıntı

işe yaradı hea, Allah razı olsun..bu arada benim gibi pdo kullanmaya karar verdiyseniz kodda şöyle bi değişiklik yapmak gerekiyor:

$db = new PDO($dsn,$user,$password);
$db->query("SET NAMES utf8");
$db->query("SET CHARACTER SET utf8");
$db->query("SET COLLATION_CONNECTION = \"utf8_turkish_ci\"");


Bu işlemi yaptırmak yerine veritabanı veya tablonun karakter setini utf8 olarak ayarlarsanız kökten halletmiş olursunuz.
 

 

Moderasyon dışı istekler için özel mesajlara yanıt vermiyorum.

inter inter WM Aracı Kullanıcı
  • Üyelik 05.10.2013
  • Yaş/Cinsiyet 42 / E
  • Meslek memur
  • Konum Karaman
  • Ad Soyad ** **
  • Mesajlar 32
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
öyle ayarlı zaten...
 

 

kısa filmleri ve senaryolarını bulabileceğiniz bir site:
www.yazalimcekelim.com
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al