Forum

Türkçe Ka...
 
Bildirimler
Hepsini Temizle

Türkçe Karakter Problemi

7 Yazılar
4 Üyeler
0 Reactions
5,215 Görüntüleme
(@EmreKUCUK)
Gönderiler: 20
Eminent Member
Konu başlatıcı
 

Php ile Mssql veritabanından verileri çekerken türkçe karakter problemi yaşıyorum.

Sadece veritabanından gelen verilerde bu sıkıntı oluyor.

Database collaction=TURKISH_CI_AS ve veriler türkçe kayıtlı

 

$conn_str = "$driver;$server;$port;$database;";
$conn=odbc_connect($conn_str,$user,$pass);

 

Gelen veri; y�k�

 
Gönderildi : 12/06/2017 16:09

(@zulfumehmetozcifci)
Gönderiler: 734
Prominent Member
 

Mysql den kontrol ettiğinizde veriler türkçe olarak kayıtlı mı?

Meta tagları kontrol ediniz birde

Verilerin kayıt olduğu ve verileri çektiğiniz sayfaların head tagı içerisine 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Bu meta tagı kullanarak tekrar deneyiniz.

Kişisel bir olay

 
Gönderildi : 12/06/2017 23:05

(@turancoskun)
Gönderiler: 4100
Üye
 

merhaba,

referans adrese göre bağlantı cümlenizi gözden geçirebilirsiniz.

http://www.anarsamadov.net/turkce-karakter-sorunu-kesin-cozum.html

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 13/06/2017 02:14

(@EmreKUCUK)
Gönderiler: 20
Eminent Member
Konu başlatıcı
 

Maalesef, meta taglarını denemiştim zaten. Olmuyor. Diğer linkte paylaşılanar da mysel komutları. Dediğim gibi mysql_query() komutu kullanmıyorum, çünkü mssql e bağlanıyorum. odbc_connect , odbc_exec veya odbc_execute için "set names utf8" komutları da yok. 

 
Gönderildi : 13/06/2017 12:33

(@EmreKUCUK)
Gönderiler: 20
Eminent Member
Konu başlatıcı
 

SORUN ÇÖZÜLDÜ !!!

Bahsi geçen problemi odbc_connect() ile bağlanırken yaşıyodum. PDO ile bağlandım ve sorunu çözebildim.

PDO bağlantısında utf 8 olduğunu belirttiğimiz bir komut olduğundan sıkıntı çekmiyorum.

Bağlantı kodları aşağıdadır. 

 

$server = "sqlsrv:Server=ServerName;Database=DatabaseName";
$username = "ABC";
$password = "ABC";

try {
    $conn = new PDO($server, $username, $password);
    $conn -> exec("SET NAMES 'UTF-8'");
} catch (PDOException $e) {
    var_dump($e->errorInfo);
}

 
Gönderildi : 23/08/2017 12:20

(@birolaydugan)
Gönderiler: 867
Prominent Member
 

Encode attribute varsa bunada bakınız .

culture vs. 

.NET kafasıyla düşünüyorum 🙂

 
Gönderildi : 24/08/2017 01:19

(@EmreKUCUK)
Gönderiler: 20
Eminent Member
Konu başlatıcı
 

SORUN ÇÖZÜLDÜ !!! 

PDO ile bağlanınca, PDO komutlarından biri işime yaradı ve sorunum çözüldü.

 

$server = "sqlsrv:Server=ServerName;Database=DatabaseName";
$username = "ABC";
$password = "ABC";

try {
    $conn = new PDO($server, $username, $password);
    $conn -> exec("SET NAMES 'UTF-8'");
} catch (PDOException $e) {
    var_dump($e->errorInfo);
}

 
Gönderildi : 24/08/2017 17:08

Paylaş: