22 Şubat 2012 Çarşamba
Php-Sql Server bağlantısında türkçe karakter çözümü.
Sql server karakter seti türkçe, benim kullandığım php internet uygulamasındaki karakter kodu utf-8. Bundan dolayı php ile sql server'a bağlanmaya çalıştığımda karakter sorunu yaşanıyordu.
Uzun saatler uğraştıktan sonra çözümün gayet basit olduğunu buldu.
Direkt olarak php.ini deki "mssql.charset"'i "UTF-8"'e çevirebilirsiniz veya kullandığınız yerdeki sayfanın başına ini_set("mssql.charset", "UTF-8"); şeklinde yazdığınızda sorun çözülmüş oluyor.
Jquery Mobile Dinamik grouped checkbox oluşturma
var _html = '<div data-role="fieldcontain">'+ '<fieldset data-role="controlgroup">'+ '<legend>Mesaj gidecek kişiler:</legend>'; var k = 0; $.each(data.items, function(key, item) { k++; _html += '<input type="checkbox" name="StRespName2[]" id="StRespName2-' + k + '" class="custom" value="' + item.id + '"/>'+ '<label for="StRespName2-' + k + '">' + item.desc + '</label>'; }); _html += '</fieldset>'+ '</div>'; $("#fld-StRespName2").html(_html); $.mobile.pageContainer.trigger('create');
Php undefined function mb_convert_encoding hatasını giderme
Windows/Linux sunucuda mb_convert_encoding aktif etme.
Windows php_mbstring kurulumu
1
|
php.ini dosyasında extension=php_mbstring.dll satırını aktif ediniz.
|
Debian/Ubuntu linux php_mbstring kurulumu.
1
| sudo apt-get install php-mbstring |
Redhat/Centos linux php_mbstring kurulumu
1
|
yum install php-mbstring
|
Eğer yum kurulu değil ise öncelikle yum'u kurunuz.
Debian / Ubuntu Freetds Kurulumu
Debian/Ubuntu sunucu üzerinnden PHP ile Microsoft SQL Server'a bağlanma
FreeTDS ve PHP MS SQL uzantısının kurulumu
1
| sudo apt-get install freetds-common freetds-bin unixodbc php5-sybase |
Not: MS SQL php uzantısının “php5-sybase” paketi olduğu doğru.
Apache web sunucuyu yeniden başlat.
1
| sudo /etc/init.d/apache2 restart |
FreeTDS'i tes et
1
| tsql -H sunucu.adin -p 1433 -U kullaniciadin -P sifren -D veritabaniadin |
Eğer bağlanabildiyseniz, Freetds kurulumu çalışıyor demektir.
FreeTDS Ayarını yapma
1
| sudo vim /etc/freetds/freetds.conf |
Aşağıdaki kodları dosyanın sonuna ekleyiniz:
1
2
3
4
| [yourserver]host = sunucu.adinport = 1433tds version = 8.0 |
Sunucu adı kullanrak FreeTDS'i test edelim
1
| tsql -S sunucun -U kullaniciadin -P sifren -D vertabaniadin |
Veri tabanından birşeyler getirmeye çaıştığınızda, unikod hatası almamanız gerekiyor. Çünkü “tds version = 8.0″ olarak belirttiniz.
PHP ile test edelim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <?php$link = mssql_connect('sunucuadin', 'kullaniciadin', 'sifren');if (!$link) { die('Bağlantı kurulamadı!');}if (!mssql_select_db('veritabaniadin', $link)) { die('Veritabanı seçilemedi!');}$result = mssql_query('SELECT * FROM tablon');while ($row = mssql_fetch_array($result)) { var_dump($row);}mssql_free_result($result);?> |
Kaydol:
Yorumlar (Atom)