locale 是优先 GB2312 码?估计是 locale 的问题吧。 最好不要使用 GB18030 ,能不用尽量不用。真要用 GB18030 ,就不要使用 GB2312 ,反正是向下兼容的。统一使用 UTF-8 正确不正确不知道,但确实可以避免很多麻烦。