日期:2011-06-08  浏览次数:20420 次

问题描述:

win2000sp4中文,vs2005英文,oracle9i。

程序中,有一RichTextBox,来显示数据库的Sql语句,使用StreamWriter()把RichTextBox中的内容写入一个文本文件中,但是如果Sql语句中含有中文,就会出现乱码。

出错原因:

  • 构造函数StreamWriter(String),默认情况下,以UTF-8编码来创建StreamWriter,所以出现乱码啦。

解决办法:

  • 构造函数StreamWriter(String,Encoding)可以指定相应的编码。

StreamWriter sw = new StreamWriter(filename,false, System.Text.Encoding.Default);(问题解决)

System.Text.Encoding.Default这个值与操作系统的设置有关,与控制面板里的区域与语言选项有关,跟oracle的字符集差不多。