奇了大怪了,C#文件读入后写不了UTF-8编码的文件=========
在项目中用尽了办法还是新建出来的ANSI (GB2312)的文件编码.
先这样读:
string tempaspx = "aspx模板文件路径和文件名";
string Filename = "新建并写入的新文件";
StreamReader sr = new StreamReader(tempaspx, Encoding.UTF8); //tempaspx文件的编码是UTF-8
string tempstr = sr.ReadToEnd(); //读出来的字符,不乱码
sr.Close();
然后写:
StreamWriter sw = new StreamWriter(Filename, false, Encoding.GetEncoding(65001)); //这里给上UTF-8编码参数
sw.Write(strCode);
sw.Flush();
sw.Close();
结果Filename文件写出来正常,在记事本中打开不乱码, 但文件的编码属性变成了GB2312了. 在vs里面打开这个Filename中文就乱码了. 手工将他另外为UTF-8就一切正常. 一个个手工另存太烦了啊. 而新写入的文件编码还一定得要是UTF-8的.
Encoding.GetEncoding(65001) 这样,和 Encoding.UTF8 都试了,就是写不出UTF8编码的文件来.
高手们, 有办法吗?