首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

silverlight编码有关问题

2012-04-23 
silverlight编码问题我用OpenFileDialog打开文本文件文本文件如果是utf-8格式的没问题,默认ANSI就是乱码si

silverlight编码问题
我用OpenFileDialog打开文本文件
文本文件如果是utf-8格式的没问题,默认ANSI就是乱码
silverlight又不支持gb2312
把他转换成byte数组也不行,reader.ReadToEnd()转换之前就已经是乱码了
各位帮忙看一看,谢谢了

C# code
    OpenFileDialog openFileDialog1 = new OpenFileDialog();    // Set filter options and filter index.    openFileDialog1.Filter = "文本文档 (.txt)|*.txt|所有文件 (*.*)|*.*";    openFileDialog1.FilterIndex = 1;    openFileDialog1.Multiselect = false;    // Call the ShowDialog method to show the dialog box.    bool? userClickedOK = openFileDialog1.ShowDialog();    // Process input if the user clicked OK.    if (userClickedOK == true)        {                txtFile.Text = openFileDialog1.File.Name;                // Open the selected file to read.                Stream fileStream = openFileDialog1.File.OpenRead();                using (StreamReader reader = new StreamReader(fileStream, System.Text.Encoding.UTF8))                {                    byte[] temp = Encoding.UTF8.GetBytes(reader.ReadToEnd().ToString());                    string retFax = Encoding.UTF8.GetString(temp,0,temp.Length);                    //string retFax = reader.ReadToEnd();                    txtPhone.Text = retFax;                }                fileStream.Close();        }


[解决办法]
注意StreamReader构造函数中所传入的编码方式.

本地测试通过,VS2008
using System;
using System.IO;

namespace Test
{
class Program
{
static void Main(string[] args)
{
FileStream fs = new FileStream("D:\\Test.txt", FileMode.Open);
using (StreamReader reader = new StreamReader(fs))
{
string result = reader.ReadToEnd();
Console.WriteLine(result);
}
}
}
}

热点排行