Ben bir WebDAV implementation for PHP üzerinde çalışıyorum. Daha kolay, Windows ve diğer işletim sistemlerinin birlikte çalışması için yapmak amacıyla, bazı karakter kodlama çemberler üzerinden atlamak gerekiyor.
Çoğu diğer istemcilerin UTF-8 olarak ASCII ötesinde bir şey kodlamak iken, Windows, HTTP istek var ISO-8859-1 kullanır.
Benim ilk yaklaşım, tamamen bu görmezden, ama adresler dönerken hızla sorunları koştu. Ben o zaman tüm adresler normalleştirmek için muhtemelen en iyi olduğunu düşündüm.
Bir örnek olarak kullanma u. Bu gibi OS / X tarafından tel üzerinden gönderilir alacak
u%CC%88 (this is codepoint U+0308)
, Windows rak yüzlerce bu şekilde:
%FC (latin1)
Ancak,% FC bir utf8_encode yapıyor alıyorum:
%C3%BC (this is codepoint U+00FC)
Ben% C3% BC tedavi ve aynı şey olarak u% CC% 88 olmalıdır? Eğer öyleyse .. nasıl? Bu pencereler için Tamam iş gibi görünüyor dokunmuyorum. Bu şekilde bir unicode karakter olduğunu anlar, ama aynı dosyayı güncelleme (özel bir nedeni yok) bir hata atar.
Ben daha fazla bilgi sağlamak için mutlu olurdu.