zoukankan      html  css  js  c++  java
  • 解决windows phone 下读取txt文件乱码问题。

    大家好,写此文以便大家遇到此问题时可以得到快速的解决,不像我这样,搞了好长时。

    问题:windows phone 中将一个txt文件做为资源,想读取里面的内容,结果老是出乱码问题,

    在网上有好多种方法都是解决下载网页编码问题的,但是没有解决读取txt乱码问题的。

    解决思路,你的文本文件的编码是GB2312而在silverlight架构下是不支持GB2312的。怎么办呢?办法总是有的,

    不如将你的文件重新编码一下吧,编成SL支持的编码方法比如utf-8,unicode等。

    1新建一个asp.net网页程序,将txt文件拷到项目中。

    2.对其进行编码转换:

    代码如下:

    string oripath = Server.MapPath("Health1.txt");  //源文件地址
    string despath = Server.MapPath("Health2.txt");//转换之后存储在这个文件中
    StreamReader sr = new StreamReader(oripath,System.Text.Encoding.GetEncoding("gb2312"));
    StreamWriter sw = new StreamWriter(despath,false,System.Text.Encoding.Unicode);
    sw.Write(sr.ReadToEnd());
    sr.Close();
    sw.Close();

    (那些using 啊,都没有用,本来就不是想做web的,只是利用他做个中介).

    OK,假如你生成了一个新的编码的文件,那就赶快去WP中试试吧。

    StreamResourceInfo sri = Application.GetResourceStream(new Uri("/ReadTxt;component/Health2.txt", UriKind.Relative));
    StreamReader sr = new StreamReader(sri.Stream,System.Text.Encoding.Unicode);
    this.textBlock1.Text = sr.ReadToEnd();
    sr.Close();

    至此问题解决。

  • 相关阅读:
    python排序
    (转载)C++中的sort函数(一)
    谨慎求证,小心思考
    梯度下降算法之方程求解
    单链表基本操作
    为什么会有补码
    tensorflow中的padding方式SAME和VALID的区别
    洛谷P2765 魔术球问题
    洛谷P2754 [CTSC1999]家园
    洛谷P1251 餐巾计划问题
  • 原文地址:https://www.cnblogs.com/hfutwyy/p/2357280.html
Copyright © 2011-2022 走看看