lua use fopen() in its base lib now, there are too troubles to support windows file system because of it :(
I suggest lua use unicode version api of windows in future version, such as fopen -> _wfopen , and call MultiByteToWideChar to convert utf-8 filename to wchar_t first.
I think let following apis support utf-8 filename in windows would be better:
loadfile
dofile
require
io.open
os.remove
os.rename
os.execute
os.getenv