Hazır web sitesi ve özel yazılım çözümleri Ürün odaklı vitrinde web, masaüstü ve yönetim paneli çözümlerini hızlıca keşfedin.
Blog Detayı

PHP rawurlencode() Nedir? urlencode() ile Farkları ve Kullanımı

30 Temmuz 2026

PHP rawurlencode() Nedir? urlencode() ile Farkları ve Kullanımı

rawurlencode() Nedir?

rawurlencode(), verilen metni URL içerisinde güvenli biçimde kullanılabilecek hale getirir. Fonksiyon, harf ve rakamlar dışındaki birçok karakteri yüzde işaretiyle başlayan hexadecimal kodlara dönüştürür.

Bu yöntem RFC 3986 standardına uygun biçimde çalışır. Özellikle URL yol parçalarını, dosya adlarını, kategori adlarını ve dinamik adres bölümlerini kodlamak için tercih edilir.

PHP rawurlencode() Kullanım Örneği

<?php

$baslik = "PHP ile URL Kodlama";

$kodlanmisBaslik = rawurlencode($baslik);

echo $kodlanmisBaslik;

?>

Yukarıdaki kodun çıktısı şu şekilde olur:

PHP%20ile%20URL%20Kodlama

Görüldüğü gibi metindeki boşluk karakterleri %20 olarak kodlanmıştır.


Türkçe Karakterlerle rawurlencode() Kullanımı

rawurlencode(), Türkçe karakterleri de URL içerisinde güvenli biçimde temsil eder.

<?php

$kategori = "Yazılım Eğitimleri";

echo rawurlencode($kategori);

?>

Örnek çıktı:

Yaz%C4%B1l%C4%B1m%20E%C4%9Fitimleri

Bu kodlama sonucunda Türkçe karakterler UTF-8 byte değerlerine göre yüzde kodlarına dönüştürülür.


urlencode() Nedir?

urlencode() da özel karakterleri URL uyumlu hale getirir. Ancak bu fonksiyon boşluk karakterlerini %20 yerine artı işaretiyle (+) kodlar.

<?php

$arama = "PHP PDO örnekleri";

echo urlencode($arama);

?>

Örnek çıktı:

PHP+PDO+%C3%B6rnekleri

Bu davranış, HTML form verilerinde kullanılan application/x-www-form-urlencoded biçimiyle uyumludur.


rawurlencode() ile urlencode() Arasındaki Fark

Özellik rawurlencode() urlencode()
Boşluk karakteri %20 olarak kodlanır. + olarak kodlanır.
Standart RFC 3986 uyumludur. Form URL kodlama biçimine uygundur.
En uygun kullanım URL yol parçaları ve dosya adları Sorgu parametreleri ve form verileri
Örnek PHP%20Dersleri PHP+Dersleri

URL Yolunda rawurlencode() Kullanımı

Dinamik bir kategori veya dosya adını URL yoluna eklerken rawurlencode() kullanmak daha doğru bir yaklaşımdır.

<?php

$kategori = "Web Tasarım";
$url = "/kategori/" . rawurlencode($kategori);

echo $url;

?>

Oluşan adres:

/kategori/Web%20Tasar%C4%B1m

Bu kullanımda kategori adı URL yolunun bir parçasıdır. Bu nedenle boşlukların %20 biçiminde kodlanması daha uygundur.


Sorgu Parametresinde urlencode() Kullanımı

Bir arama kelimesini sorgu parametresi olarak göndermek için urlencode() kullanılabilir.

<?php

$kelime = "PHP güvenlik";
$url = "/arama?q=" . urlencode($kelime);

echo $url;

?>

Oluşan adres:

/arama?q=PHP+g%C3%BCvenlik

Sorgu parametreleri hazırlanırken PHP'nin http_build_query() fonksiyonu da çoğu durumda daha güvenli ve düzenli bir seçenek sunar.

<?php

$parametreler = [
    "q" => "PHP güvenlik",
    "sayfa" => 2
];

$url = "/arama?" . http_build_query($parametreler);

echo $url;

?>

rawurldecode() ile Kodlanmış Veriyi Çözme

rawurlencode() ile kodlanan bir değer, rawurldecode() fonksiyonuyla eski haline döndürülebilir.

<?php

$kodlanmis = "PHP%20ile%20URL%20Kodlama";

$metin = rawurldecode($kodlanmis);

echo $metin;

?>

Çıktı:

PHP ile URL Kodlama

Hangi Fonksiyon Ne Zaman Kullanılmalı?

  • URL yolu veya dosya adı kodlanacaksa rawurlencode() kullanın.
  • Basit bir sorgu parametresi kodlanacaksa urlencode() kullanılabilir.
  • Birden fazla sorgu parametresi oluşturulacaksa http_build_query() tercih edin.
  • Kodlanmış URL yolunu çözmek için rawurldecode() kullanın.
  • Form tipi kodlanmış veriyi çözmek için urldecode() kullanın.

Önemli Bir Güvenlik Notu

URL kodlama işlemi bir güvenlik filtresi değildir. rawurlencode() veya urlencode() kullanmak, kullanıcıdan gelen veriyi SQL injection, XSS veya benzeri saldırılara karşı tek başına güvenli hale getirmez.

Veritabanı sorgularında PDO prepared statement, HTML çıktılarında ise kullanım yerine göre htmlspecialchars() gibi uygun güvenlik yöntemleri ayrıca uygulanmalıdır.

Sonuç

rawurlencode() ve urlencode() benzer görünse de aynı amaçla kullanılmamalıdır. URL yol parçalarında standartlara daha uygun bir sonuç elde etmek için rawurlencode(), sorgu parametreleri ve form tipi kodlamalarda ise urlencode() tercih edilebilir.

Kısaca özetlemek gerekirse; URL yolu için rawurlencode(), sorgu parametresi için urlencode() yaklaşımı pratik ve doğru bir başlangıç noktasıdır.

WhatsApp ile İletişime Geç