“Utf8 = ✓” kullanımı “utf8 = true” olarak mı tercih edilir?


569

Geçenlerde "utf8 = ✓" sorgu parametresini içeren birkaç URI gördüm. İlk izlenim ("mmm, havalı görünüyor" derken) bunun bozuk bir karakter kodlamasını tespit etmek için kullanılabileceği yönündeydi.

Öyleyse, karakter kodlamasıyla ilgili olası sorunları çözmenin daha iyi bir yolu mu, yoksa sadece bir kesmekle eğlenen bir geliştirici mi?


7
Katılmıyorum. URN'lere benzeyen ve sorgu parametrelerini alan - Bitcoin gibi şemalar var. URI'lar tarayıcılarla sınırlı değildir. Bkz en.wikipedia.org/wiki/URI_scheme . Bu soru , bir tarayıcı bir protokol işleyicisine eriştiğinde karakter kodlamanın gerekli olduğu genel durumu da ele alabilir .
Gary Rowe

3
Bu URL’lerin örneklerini verin veya olmadı.
hakre

10
Konu dışı, ama tamam. İşte benim kişisel bağışım Bitcoin URI: bitcoin: 1KzTSfqjF2iKCduwz59nv2uqh1W2JsTxZH? Miktarı = 0.5 & label = Agile% 20Stack. Düzenin sorgu parametrelerine sahip bir URN olduğuna dikkat edin, ancak bir protokol işleyicisine teslim olur. Bu tür bir URI muhtemelen “utf8 = ✓” geçici çözümünden de yararlanabilir.
Gary Rowe

1
@GaryRowe Peki bu bağlantıdan hiç bağış aldınız mı?
Kyralessa

Yanıtlar:


814

Varsayılan olarak, IE’nin eski sürümleri (<= 8), mümkünse, Latin-1 kodlamasında form verileri gönderecektir. Latin-1'de ifade edilemeyen bir karakter ekleyerek, IE, çeşitli veri uç süreçlerini, örneğin veri tabanı kalıcılığını basitleştiren form gönderimleri için UTF-8 kodlamasını kullanmak zorunda kalır.

Parametre bunun yerine utf8=trueöyleyse, bu, bu tarayıcılarda UTF-8 kodlamasını tetiklemez.


8
@LarsViklund Benim yorumum ile daha net olmalıydım. Demek istediğim, karakter kodlaması ile ilişkili doğrulama, atlanmadan basitleştirildi.
Gary Rowe

3
@Lars Doğru, girişinizi kontrol etmek zorunda kalmazsınız. Ancak bu, kod kodlama kodlarının yalnızca güvenlik işleminizin bir parçası haline geldiği ve "standart işlem" yolunuzun konseptini bozmadığı anlamına gelir
Gareth

36
Ayrıca bkz. Stackoverflow.com/questions/3222013/… . Görünüşe göre Ruby on Rails bir kardan adam karakteri kullanıyordu ve daha az belirsiz fakat daha az komik olan bir onay işaretiyle değiştirildi.
Jack V.

11
@JohnLBevan alıcı tarafından görmezden gelinir, tarayıcıyı latin1 yerine utf8'de bir şeyler göndermeye zorlamak işidir. Ben de = 💩 olarak görmüştüm (bu 'poo yığını' kod noktası, yorumlarda görünmüyor gibi görünüyor.)
cabbey

3
@Gareth: IE <= 8 formlarının belgeyi ve / veya form kodlamasını desteklemediği ifadesini yedekleyebilir misiniz?
hakre
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.