Lokalde çalışan arkadaşlar bu sorunu mutlaka yaşamışlardır  ve eğer bu makaleyi okuyorsan sen de yaşıyorsun. Ben de yaşadım ve çözdüm. Şimdi sana bu gıcık sorun nasıl çözülür göstereceğim. Genel şurayı 8080 yap filan gibi çözümler önerilir. Fakat bu geçici bir çözümdür sitemizi gerçek hosta yükleyince bazı problemler yaşamamıza bile sebep olabiliyor.

İşte bu yöntem tam en doğrusu;

1.IIS yani “Internet Information Services” i açalım bilgisayarımızdan. (Windows7 veya 8 kullananlar direk pencere tuşuna basıp “IIS” yazdıklarına göreceklerdir.)

2.Açılan penceredeki sol bölümden kendi bilgisayarınızın adı yazacak o yazının sol tarafında klasörü aşağıya doğru açma ibresine 1 kez tıklayalım . Ardından “Siteler” klasörünü de 1 kez tıklayalım.

3.Penceremizin orta kesiminde gördüğümüz “Default Web Site”‘ye 1 kez tıklayalım. Sonra sağ taraftaki sekmelerde gördüğümüz “Web Sitesini Yönet” altındaki “Durdur” yazısına tıklayalım.

4- Sonra WampServe simgesine tıklayalım ve  “Restart All Services” diyelim.

5.İşlemimiz bitti.

WampServer, local bilgisayarlarımızda en çok kullandığımız hazır paketlerden birisi. Ayrıca, benimde vazgeçilmezlerimden..

Bildiğimiz üzere Web işlemlerinde genelde 80. port kullanılır. Wampserver da apache bileşeni de ön tanımlı olarak 80 portu kullanacak şekilde gelmektedir.

Fakat bazen port çakışmalarından dolayı problem yaşamaktayız. Örneğin bilgisayarımızda Skype yüklü ise ve wamp dan önce skype açılmışsa, wamp server’ın bir türlü bütün servislerinin başlayamadığını, localhost umuzun çalışmadığını görürüz. Benzer şekilde TeamViewer programı da 80. portu kullanmaktadır.

Wamp ile diğer uygulamaların çakışmalarını önlemek ve güvenli işlem yapmak amacı ile portumuzu değiştirebiliriz. Bunun için aşşağıdaki görseller ile size yardımcı olmaya çalışacağım.

Wamp ikonuna tıkladıktan sonra, yukarıdaki resimde gördüğünüz menüler karşınıza çıkıyor. Burada Apache sekmesine tıklıyoruz

Karşımıza gelen bu minik pencereden, httpd conf dosyamıza ulaşıyoruz.

“# Listen:”

yazısını bulmak. Üst taraflarda yer alıyor zaten, dikkatinizi çekecektir.

Bulduğunuz satırda, örnekte de belirtildiği gibi hangi portu kullanmak istiyorsanız onu yazıyorsunuz. Örneğin ben 8080 portunu kullanmayı tercih ediyorum ve,

Listen 8080 yazdım. Siz de hangi portu kullanmak istiyorsanız onu yazınız.



Bu işlemleri yaptıktan sonra, Ctrl + S diyerek yaptığımız değişiklikleri kayıt ediyoruz, ardından ilk resimde görülen, Bütün Servisleri Yeniden Başlat yazısına tıklıyoruz.. İşlemimiz tamamdır. http://localhost:8080 üzerinden, herhangi bir programla çakışmadan, wampserver’ınızı kullanabilirsiniz.

Merhaba arkadaşlar, bildiğiniz gibi strtoupper() fonksiyonu girilen metini büyük harflere dönüştürerek döndürmektedir. Fakat bu fonksiyon türkçe karakterlerin bulunduğu bir metni büyük harflere dönüştürmemektedir. Çözümü ise aşağıdadır.

echo strtoupper('Şemsiye İstasyonu Önünde İnecek Var.');
// ŞEMSIYE İSTASYONU ÖNüNDE İNECEK VAR.


echo strtoupper('ŞEMSİYE iSTASYONU ÖNÜNDE iNECEK VAR.');
// ŞEMSİYE ISTASYONU ÖNÜNDE INECEK VAR.


// Türkçe Karakter Destekli strtoupper() Fonksiyonu
function tr_strtoupper($text)
{
    $search=array("ç","i","ı","ğ","ö","ş","ü");
    $replace=array("Ç","İ","I","Ğ","Ö","Ş","Ü");
    $text=str_replace($search,$replace,$text);
    $text=strtoupper($text);
    return $text;
}


// Sonuç


echo tr_strtoupper('Şemsiye İstasyonu Önünde İnecek Var.');
// ŞEMSİYE İSTASYONU ÖNÜNDE İNECEK VAR.


echo tr_strtoupper('ŞEMSİYE iSTASYONU ÖNÜNDE iNECEK VAR.');
// ŞEMSİYE İSTASYONU ÖNÜNDE İNECEK VAR.

Aşağıdaki gibi bir açılır menümüz olsun.

<select>
   <option value="1">Audi</option>
   <option value="2">BMW</option>
   <option value="3">Fiat</option>
   <option value="4">Honda</option>
   <option value="5">Mercedes</option>
   <option value="6">Renault</option>
   <option value="7">Toyota</option>
</select>

 

En kolay yol, sadece seçtiğiniz seçeneğe bir "select" eklemek.

Örneğin Mercedes in seçili gelmesi isteniyorsa

<select>
   <option value="1">Audi</option>
   <option value="2">BMW</option>
   <option value="3">Fiat</option>
   <option value="4">Honda</option>
   <option selected value="5">Mercedes</option>
   <option value="6">Renault</option>
   <option value="7">Toyota</option>
</select>

Şimdi yapmamız gereken bir sonraki şey, <select> gönderimimizi yapmak,

sayfayı buna göre düzenlemek için, bir <form> içine koymamız gerekiyor, şöyle ki: 

<form action="" method="post">
   <select name="araba">
      <option value="1">Audi</option>
      <option value="2">BMW</option>
      <option value="3">Fiat</option>
      <option value="4">Honda</option>
      <option selected value="5">Mercedes</option>
      <option value="6">Renault</option>
      <option value="7">Toyota</option>
   </select>
   <button type="submit">Gönder</button>
</form>

İhtiyaçlarınıza ve gereksinimlerinize bağlı olarak, başka ekstra parametrelere ihtiyaç duyabilirsiniz.

<select> etiketine name="araba" eklediğim. Bu adları aselect içinden gelen değere erişmek için kullanacağım.Şimdi eğlenceli kısım için, PHP kodu ekleyelim ve örneğimizi hayata geçirelim.

<?php
if ($_POST) 
{
   $araba= $_POST["araba"];
   echo "post edildi ",$araba;
}
else
{
   echo "post edil ME di";
   $araba="5"; // post yok ise mercedes seçili olarak gelecek ilk açılışta
}

?>
<form action="" method="post">
   <select name="araba">
      <option <?php if ($araba == 1 ) echo 'selected' ; ?> value="1">Audi</option>
      <option <?php if ($araba == 2 ) echo 'selected' ; ?> value="2">BMW</option>
      <option <?php if ($araba == 3 ) echo 'selected' ; ?> value="3">Fiat</option>
      <option <?php if ($araba == 4 ) echo 'selected' ; ?> value="4">Honda</option>
      <option <?php if ($araba == 5 ) echo 'selected' ; ?> value="5">Mercedes</option>
      <option <?php if ($araba == 6 ) echo 'selected' ; ?> value="6">Renault</option>
      <option <?php if ($araba == 7 ) echo 'selected' ; ?> value="7">Toyota</option>
   </select>
   <button type="submit">Gönder</button>
</form>

 

Web sayfamızı oluşturmadan önce hangi karakter setini kullanacağımıza karar vermek gerekir. http://www.iana.org/assignments/character-sets adresinden de görebileceğiniz üzere standartlaşan onlarca karakter kodlaması vardır. Karakter kodlaması, karakter setlerinden oluşur. ISO-8859, MS-Windows ve Unicode en çok kullanılan karakter kodlamalarındandır. ISO-8859-9′da bir ISO-8859′un bir karakter setidir.

ISO-8859 karakter seti dillere desteğini bölümler halinde vermiştir. İlk bölümde -bu bölüm ISO-8859-1 (Latin1) olarak bilinir- İngilizce, Franszıca, İspanyolca, Portekizce gibi dillere destek vermiştir. Türkçe desteği ancak 9. bölümde ISO-8859-9 (Latin5) karakter setiyle gelmiştir. MySQL’de bulunan latin5 ile ISO-8859-9 aslında aynı şeylerdir.

Türkçe diline destek veren karakter setlerinden en çok kullanılanları; ISO-8859-9 (latin5) Windows-1254 ve UTF-8’dir. UTF-8 çoklu dil desteği olan bir karakter setidir. Yani Türkçe’nin yanında örneğin Rusça’ya da destek vermektedir. Diğerlerinden farkı daha çok dile destek verdiğinden dosya büyüklükleri biraz daha fazla olabilmektedir.

Şimdi bir siteye başlamadan önce Türkçe karakter problemi ile karşılaşmamak için yapmanız gerekenlere sırayla bakalım.

Sitemizi oluşturmaya başlamadan önce açık kaynak kodlu bir yazılım olan Notepad++ (http://notepad-plus-plus.org/) programını kurmanızı öneririm. Bu programı kullanarak sitemizin tüm karakterlerinizin bozulmasına neden olabilen UTF-8 BOM (Byte Order Mark) sorununu ortadan kaldıracağız.

Html ve php dosyalarımızı yazarken karakter setini UTF-8 kullanmak; her ülkeden ve dilden kullacılarının sitemizi ziyaret ederken karakter sorunları ile karşılaşmamasını sağlar.

Sitenizi oluşturmaya, html ve php kodlarınızı yazmaya başlamadan önce Notepad++’ı açıp Format menüsünden UTF-8 without BOM‘u seçin ve dosyalarınızı utf8 formatını kullanarak yazın. Notepad++’ın Settings>Preferences>New Document bölümünden de her yeni dosya oluştururken dosya formatının otomatik olarak utf-8 without bom olmasını sağlayabiliriz.

Daha sonra html kodlarınızı yazmaya başlayabilirsiniz. HTML ile de sayfanızın karakter setini UTF-8 olarak ayarlamanız gerekiyor. Etiketlerinin arasına yerleştireceğiniz aşağıdaki kod ile bu işi yapacağız.

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

 

Şimdi MySQL veritabanımızı oluşturalım.. Veritabanımızı oluştururken Karşılaştırma bölümünden utf8_turkish_ci yi seçmenizi öneriyorum. Böylelikle MySQL’de oluşturacağınız tüm tablo ve alanlar utf8 kodlamasına göre oluşturulacak. Artık MySQL’den veri girişi yaptığınızda Türkçe karakter problemi olmadan verilerinizi görebiliyor olmalısınız.

PHP kodlarıyla MySQL’e bağlanırken yapmamız gereken bir şey daha var. SET NAMES utf8 kodunu çalıştırmak.. Bunu da şu şekilde yapıyoruz;

<?
   php mysql_connect("localhost","root","1234");
   mysql_select_db("testdb");
   mysql_query("SET NAMES UTF8");
?>

 

Bunları yaptıktan sonra Türkçe karakter problemiyle karşılaşmamanız gerekiyor…