We have an http://doc.rust-lang.org/stable/std/ffi/struct.OsString.html to abstract over a native string in whatever encoding your platform has. Generally, things that interact with the OS use these, and they can convert to a UTF-8 String.
I'll be wanting UTF-16 support. Going the other way matters too; if I'm on Windows I may need UCS-32 support.