URL parametresi olarak Alman klavyemdeki mevcut tüm karakterlerle web sitemi (apache) isteyerek test ettim:
http://example.com/?^1234567890ß´qwertzuiopü+asdfghjklöä#<yxcvbnm,.-°!"§$%&/()=? `QWERTZUIOPÜ*ASDFGHJKLÖÄ\'>YXCVBNM;:_²³{[]}\|µ@€~
Bunlar kodlanmamıştır:
^0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,.-!/()=?`*;:_{}[]\|~
Sonra kodlanmadı urlencode():
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_
Sonra kodlanmadı rawurlencode():
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~
Not: PHP 5.3.0'dan önce RFC 1738 nedeniyle rawurlencode()kodlanmıştır . Ancak bu RFC 3986 ile değiştirildi, bu yüzden şimdi kullanımı güvenlidir. Ancak, örneğin neden kodlandığını anlamıyorum çünkü RFC 3986'da belirtilmemişlerdir.~{}rawurlencode()
Yaptığım ek bir test, posta metinlerinde otomatik bağlantı ile ilgili idi. Mozilla Thunderbird, aol.com, outlook.com, gmail.com, gmx.de ve yahoo.de'yi test ettim ve bu karakterleri içeren URL'leri tamamen bağladılar:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~+#,%&=*;:@
Tabii ki de ?bağlantılıydı, ancak sadece bir kez kullanıldıysa.
Bazı insanlar şimdi yalnızca rawurlencode()karakterleri kullanmanızı önerir , ancak birisinin bu web sitelerini açmakta sorun yaşadığını hiç duydunuz mu?
Yıldız işareti
http://wayback.archive.org/web/*/http://google.com
İki nokta üst üste
https://en.wikipedia.org/wiki/Wikipedia:Hakkında
Artı
https://plus.google.com/+google
İşarette, İki Nokta, Virgül ve Ünlem işareti
https: //www.google.com/maps/place/USA/@36.2218457, ...
Bu nedenle bu karakterlerin sorunsuz bir şekilde kodlanmamış kullanılabilmesi gerekir. Tabii ki &;kodlama dizileri nedeniyle kullanmamalısınız &. Aynı neden, %genel olarak karakterleri kodlamak için kullanıldığı için de geçerlidir . Ve =parametre adına bir değer atar.
Sonunda bu kodlanmamış kullanmak için ok söyleyebilirim:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~!+,*:@
Ancak rastgele oluşturulmuş URL'ler bekliyorsanız kullanmamalısınız .!, çünkü bunlar bir cümlenin sonunu işaretler ve bazı posta uygulamaları URL'nin son karakterini otomatik olarak bağlamaz. Misal:
Visit http://example.com/foo=bar! !
!*'();:@&=+$,/?#[]veya korunmamışA-Za-z0-9_.~-(veya%yüzde kodlamasının bir parçası olarak yüzde karakteri )