utf8 general

=============================================================

Tablo :

DROP TABLE IF EXISTS `tt`;

CREATE TABLE IF NOT EXISTS `tt` (

`ad` varchar(255) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `tt` (`ad`) VALUES

(’istanbul’),

(’ISTANBUL’),

(’İSTANBUL’),

(’ıstanbul’);

SELECT * FROM tt WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

SELECT * FROM tt WHERE ad LIKE ‘%ıstanbul%’;

Sonuc:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

utf8 turkish

=============================================================

Tablo :

DROP TABLE IF EXISTS `zz`;

CREATE TABLE IF NOT EXISTS `zz` (

`ad` varchar(255) COLLATE utf8_turkish_ci NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;

INSERT INTO `zz` (`ad`) VALUES

(’istanbul’),

(’İSTANBUL’),

(’ISTANBUL’),

(’ıstanbul’);

SELECT * FROM zz WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

İSTANBUL

SELECT * FROM zz WHERE ad LIKE ‘%ıstanbul%’;

Sonuç:

ıstanbul

ISTANBUL

* utf8 general’da ı,i u,ü o,ö gibi harfler aynı kabul edilirken , utf8 turkish’de aynı kabul edilmezler.

utf8 general

=============================================================

Tablo :

DROP TABLE IF EXISTS `tt`;

CREATE TABLE IF NOT EXISTS `tt` (

`ad` varchar(255) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `tt` (`ad`) VALUES

(’istanbul’),

(’ISTANBUL’),

(’İSTANBUL’),

(’ıstanbul’);

SELECT * FROM tt WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

SELECT * FROM tt WHERE ad LIKE ‘%ıstanbul%’;

Sonuc:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

utf8 turkish

=============================================================

Tablo :

DROP TABLE IF EXISTS `zz`;

CREATE TABLE IF NOT EXISTS `zz` (

`ad` varchar(255) COLLATE utf8_turkish_ci NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;

INSERT INTO `zz` (`ad`) VALUES

(’istanbul’),

(’İSTANBUL’),

(’ISTANBUL’),

(’ıstanbul’);

SELECT * FROM zz WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

İSTANBUL

SELECT * FROM zz WHERE ad LIKE ‘%ıstanbul%’;

Sonuç:

ıstanbul

ISTANBUL

* utf8 general’da ı,i u,ü o,ö gibi harfler aynı kabul edilirken , utf8 turkish’de aynı kabul edilmezler.

utf8 general

=============================================================

Tablo :

DROP TABLE IF EXISTS `tt`;

CREATE TABLE IF NOT EXISTS `tt` (

`ad` varchar(255) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `tt` (`ad`) VALUES

(’istanbul’),

(’ISTANBUL’),

(’İSTANBUL’),

(’ıstanbul’);

SELECT * FROM tt WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

SELECT * FROM tt WHERE ad LIKE ‘%ıstanbul%’;

Sonuc:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

utf8 turkish

=============================================================

Tablo :

DROP TABLE IF EXISTS `zz`;

CREATE TABLE IF NOT EXISTS `zz` (

`ad` varchar(255) COLLATE utf8_turkish_ci NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;

INSERT INTO `zz` (`ad`) VALUES

(’istanbul’),

(’İSTANBUL’),

(’ISTANBUL’),

(’ıstanbul’);

SELECT * FROM zz WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

İSTANBUL

SELECT * FROM zz WHERE ad LIKE ‘%ıstanbul%’;

Sonuç:

ıstanbul

ISTANBUL

* utf8 general’da ı,i u,ü o,ö gibi harfler aynı kabul edilirken , utf8 turkish’de aynı kabul edilmezler.

utf8 general

=============================================================

Tablo :

DROP TABLE IF EXISTS `tt`;

CREATE TABLE IF NOT EXISTS `tt` (

`ad` varchar(255) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `tt` (`ad`) VALUES

(’istanbul’),

(’ISTANBUL’),

(’İSTANBUL’),

(’ıstanbul’);

SELECT * FROM tt WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

SELECT * FROM tt WHERE ad LIKE ‘%ıstanbul%’;

Sonuc:

istanbul

ISTANBUL

İSTANBUL

ıstanbul

utf8 turkish

=============================================================

Tablo :

DROP TABLE IF EXISTS `zz`;

CREATE TABLE IF NOT EXISTS `zz` (

`ad` varchar(255) COLLATE utf8_turkish_ci NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;

INSERT INTO `zz` (`ad`) VALUES

(’istanbul’),

(’İSTANBUL’),

(’ISTANBUL’),

(’ıstanbul’);

SELECT * FROM zz WHERE ad LIKE ‘%İSTANBUL%’;

Sonuç:

istanbul

İSTANBUL

SELECT * FROM zz WHERE ad LIKE ‘%ıstanbul%’;

Sonuç:

ıstanbul

ISTANBUL

* utf8 general’da ı,i u,ü o,ö gibi harfler aynı kabul edilirken , utf8 turkish’de aynı kabul edilmezler.

if(5==$deger) yada if ($deger==5)

Sizin de dikkatinizi çekmiştir,

Bazı projelerde alıştığımız if şartını ters yazıyorlar;

if ($deger==5) yerine if(5==$deger)

bu yazımın kaynağı C’den geliyor.

= atama.

== eşit mi karşılaştırması.

C türevi tüm dillerde karşılaştırma operatöri == ‘ dir.

Yazılımcılar dalgınlık/unutkanlık ile if’lerde == yerine = (tek eşit) kullanırlarsa büyük bir mantık hatasına ve bug’a sebep olurlar.

# root user kontrolü

if($user_id==1) {

# ilgili menuleri göster

}

Bu kod’da yanlışlıkla tek eşit yazılır ise if şartı her zaman true olacak ve if bloğu çalıştırılacak

if($user_id=1) {

# ilgili menuleri göster

}

Fakat;

if(1=$user_id) {

# ilgili menuleri göster

}

Bu tarz bir yazım “sabit değere atama yapmak istiyorsunuz” şeklinde bir derleme/çalıştırma hatasını tetikler ve kod çalıştırılmaz.

mysql int(11) ile int(3) arasındaki fark.

tahmin edildiğinin tersine int(3) ve int(11) sayı değeri olarak aynı sayıları tutabilir.

1234567 sayısını int(3) veya int(11) olarak tanımlanmış bir alanda tutabiliriz.

Sayı Değerlerini belirten kısım mysql veri tipidir.

Column Type Bytes On Disk Signed Storage Range Unsigned Storage Range
tinyint 1 bytes -128 to 127 0 to 255
smallint 2 bytes -32768 to 32767 0 to 65535
mediumint 3 bytes -8388608 to 8388607 0 to 16777215
int 4 bytes -2147483648 to 2147483647 0 to 4294967295
bigint 8 bytes -9223372036854775808 to 9223372036854775807 0 to 18446744073709551615

Parantez içindeki int(3) , int(11) ise zerofill özelliğinde devreye giriyor;
mysql> create table t (t int(3) zerofill);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.00 sec)
mysql> select * from t;
+——+
| t |
+——+
| 010 |
+——+
1 row in set (0.11 sec)

mysql> create table t (t int(11) zerofill);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.02 sec)
mysql> select * from t;
+————+
| t |
+————+
| 00000000010 |
+————+
1 row in set (0.08 sec)

Yani parantez içindeki sayı , görüntülenebilir kısmı temsil ediyor. Sayının alabileceği değerlere bir etkisi yok.
http://dev.mysql.com/doc/refman/5.6/en/numeric-type-overview.html

Birçoğumuzun bu veritabanına ihtiyacı var :)
Tüm ülkeler ve ülkelere ait iller, ilçeler mysql veritabanı.
Tükiye dışındaki ülkelerin, illerin, ilçelerin adları ingilizce yazılmıştır (latin harfleri ile).

Ülke , İl, İlçe MySQL Veritabanı indir.

Projenizde PHPExcel kütüphanesi __autoload çakışması veriyorsa ;

spl_autoload_unregister(’__autoload’);
require_once ‘/lib/phpexcel/Classes/PHPExcel.php’;

# diger kodlar

spl_autoload_register(’__autoload’);

şeklinde PHPExcel’in kendi autoload’ını kullanamsını sağlayabilirsiniz.

php ile sayı yazıya çeviren fonksiyon;

1=bir
11=on bir
1020=bin yirmi
...

PHP:
  1. <?php
  2. /**
  3. * sayıyı yazıya çevirir
  4. * @param integer $sayi
  5. * @author ayhan barış
  6. */
  7. function sayi2yazi($sayi) {
  8.     $on_ek = '';
  9.     if ($sayi<0) {
  10.         $on_ek = 'eksi ';
  11.         $sayi = abs($sayi);
  12.     }
  13.  
  14.     $barray('', 'bir ', 'iki ', 'üç ', 'dört ', 'beş ', 'altı ', 'yedi ', 'sekiz ', 'dokuz ');
  15.     $oarray('', 'on ', 'yirmi ', 'otuz ', 'kırk ', 'elli ', 'altmış ', 'yetmiş ', 'seksen ', 'doksan ');
  16.     $yarray('', 'yüz ', 'iki yüz ', 'üç yüz ', 'dört yüz ', 'beş yüz ', 'altı yüz ', 'yediyüz ', 'sekiz yüz ', 'dokuz yüz ');
  17.     $ek = array('', 'bin ', 'milyon ', 'milyar ', 'trilyon ', 'katrilyon ');
  18.  
  19.     $virgullu_sayi = number_format($sayi);
  20.     $gruplanmis_sayi = explode(',', $virgullu_sayi);
  21.     $uclu_sayisi = count($gruplanmis_sayi);
  22.  
  23.     $cikti = '';
  24.     for ($ii=0;$ii<$uclu_sayisi;$ii++) {
  25.         $isayi = $gruplanmis_sayi[$ii];
  26.         $isayi = str_pad($isayi, 3, '0', STR_PAD_LEFT);
  27.  
  28.         $isayi = strval($isayi);
  29.  
  30.         if ($isayi[0]> 0) {
  31.             $cikti .= $y[$isayi[0]];
  32.         }
  33.  
  34.         if ($isayi[1]> 0) {
  35.             $cikti .= $o[$isayi[1]];
  36.         }
  37.  
  38.         if (  ($uclu_sayisi - $ii -1) == 1 ) {
  39.             # binler yeri
  40.             if ( $isayi> '001' ) {
  41.                 $cikti .= $b[$isayi[2]];
  42.             }
  43.         }
  44.         elseif ($isayi[2]> 0) {
  45.             $cikti .= $b[$isayi[2]];
  46.         }
  47.  
  48.         $cikti .= $ek[ ($uclu_sayisi - $ii -1)];
  49.     }
  50.  
  51.     $cikti = $on_ek . $cikti;
  52.  
  53.     # ozel durumlar
  54.     if ($sayi == 0) {
  55.         $cikti = 'sıfır';
  56.     }
  57.  
  58.     return $cikti;
  59. }
  60.  
  61. echo sayi2yazi(1020);
  62.  
  63. ?>

Banka Şube Kodları şurada var :
* http://eft.tcmb.gov.tr/bankasubelistesi/cif.csv
* http://eft.tcmb.gov.tr/bankasubelistesi/cif.xml