引用:
原帖由 CloudiDust 于 2010-8-11 23:29 发表 
嗯,UTF16-LE确实是内部编码来着,其实这个修改原意是想让控制台输出不要乱码,我的习惯是Win下用NP++开纯文本文件所以重定向之后无所谓了……
记得UTF编码族如果要让记事本正常打开的话得有BOM才行。 ...
windows 的控制台只能接受GBK和GB18030,所以如果有 print 输出就必须是 GBK 和 GB18030。事实上用 GB18030 要更好,因为某些 Unicode 无法编码成 GBK。而用 GB18030 的话,大多数可以被正常编码,虽然某些字符因为字库原因无法显示,但是至少不会出现编码错误。
如果输出到文件的话,可以是 UCS-2LE,在 Windows 中,唯一一种不需要 BOM 的 unicode 编码就是 UCS-2LE。其他的都需要BOM。