(PHP) rawurlencode / decode (yerine% A3% C2% A3) 'Â £' olarak 'TL' işareti kodlamak gibi görünüyor

0 Cevap php

Yani, PHP'nin rawurlencode fonksiyonu ile bir sorun haline çalıştırmak. Bizim web uygulaması tüm metin alanları ders web sunucusu tarafından işlenmeden önce dönüştürülür, ve biz bunun için rawurlencode kullandım. Bu buldum hemen hemen her karakteri ile çalışıyor, "£" işareti için bekliyoruz. Şimdi, bizim kullanıcılar şimdiye kadar bir pound işareti girmek için hiçbir neden yoktur, ancak bunlar olabilir, bu yüzden bu dikkat çekmek istiyorum.

Sorun rawurlencode% A3 gibi web sayfasında girilen bir pound işareti kodlamak olmamasıdır, ancak bunun yerine% C2% A3 gibi. Kullanıcı kritik bilgilerin başka bir bit girmek için başarısız olursa, daha da kötüsü (- çek backend tarafında yapılır - yenilemek için web sayfasını neden olur ve denemek ve kullanıcı kullanmış olduğu bilgi formu kutuları dolum), o zaman ne zaman % C2 rawurldecode / kodlamak aracılığıyla çalıştırılır, bu à olur? - Aka,% C3?. Ve tabii "TL" başka  £ dönüştü!

Peki, bu neden oluyor? Ben bir karakter kodlama sorunu olduğunu varsayalım, ama ben bu şeyler hakkında bu bilgili değilim. Ben £ manuel olarak & kiloluk s kodlamak bir yerde duydum, ama neden yapmam gereken gerektiğini veritabanı "TL" s işleyebilir ve bir pound işareti için bir yüzdesi-kodlama varken? Bu rawurlencode bir hata, ya da karakter setleri farklı kaynaklanan bir hata mı?

Herhangi bir yardım için teşekkür ederiz.

0 Cevap