Fix wxFileSystem::FileNameToURL() for Unicode file names.

If filename with non-ASCII characters was encoded, resulting URL
contained non-ASCII characters. But URLToFileName() expected the
input to be in UTF-8. This change fixes it by using UTF-8 for
file: URLs in FileNameToURL() too.

Fixes #11491.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2010-03-28 15:41:35 +00:00
parent abd5e008f1
commit 55129143a1

View File

@@ -694,7 +694,10 @@ wxString wxFileSystem::FileNameToURL(const wxFileName& filename)
// here, in particular in GetRightLocation()
url.Replace(wxT(":"), wxT("%3A"));
url = wxT("file:") + url;
return url;
// Do wxURI- and common practice-compatible escaping: encode the string
// into UTF-8, then escape anything non-ASCII:
return wxURI(url).BuildURI();
}