从本地应用程序数据(Metro App)读取* .htm文件的异常

时间:2015-01-30 08:24:42

标签: c# windows-store-apps microsoft-metro winrt-xaml

我正在使用FileIO.ReadTextAsync()读取我已保存到" ms-appdata:/// local"中的* .htm网页,使用Utf8编码。

但是在做这件事时我得到System.ArgumentOutOfRangeException。其他信息为No mapping for the Unicode character exists in the target multi-byte code page

使用相同的函数读取普通的* .txt文件可以正常工作。我做错了什么?

编辑:代码

async private void Button_Click(object sender, RoutedEventArgs e)
{
StorageFile SF = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appdata:///local/test3.html"));
string html = await FileIO.ReadTextAsync(SF, Windows.Storage.Streams.UnicodeEncoding.Utf8);
}

1 个答案:

答案 0 :(得分:1)

使用Visual Studio更改文件编码。当我打开文件时,它有编码:“西欧(Windows) - 代码页1252”

  1. 在Visual Studio中打开文件
  2. 文件>高级保存选项...>
  3. 将编码更改为“Unicode(带签名的UTF-8) - 代码页65001”Advanced save options
  4. 保存文件
  5. 致谢:Advanced save options in visual studio