asp.net 解决文本中文乱码   各类文本编码转UTF-8 文本

/// <summary>

/// 解决文本中文乱码   各类文本编码转UTF-8 文本

/// </summary>

/// <param name="fullPath">原路径</param>

/// <param name="savePath">临时保存路径</param>

/// <param name="strnew">新的文件路径</param>

/// <returns>新文件路径</returns>

public static string  GetUtf8(string fullPath,string savePath,string strnew)

{

Encoding e =GetFileEncodeType(fullPath);

System.IO.File.Create(savePath).Close();

using (StreamReader sr = new StreamReader(fullPath, e, false))

{

string utf8info = string.Empty;

Encoding utf8 = Encoding.UTF8;

// Convert the string into a byte[].

byte[] unicodeBytes = e.GetBytes(sr.ReadToEnd());

// Perform. the conversion from one encoding to the other.

byte[] asciiBytes = Encoding.Convert(e, utf8, unicodeBytes);

// Convert the new byte[] into a char[] and then into a string.

// This is a slightly different approach to converting tillustrate

// the use of GetCharCount/GetChars.

char[] asciiChars = new char[utf8.GetCharCount(asciiBytes, 0, asciiBytes.Length)];

utf8.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);

utf8info = new string(asciiChars);

using (StreamWriter sw = new StreamWriter(savePath, false, Encoding.UTF8))

{

sw.Write(utf8info);

}

}

System.IO.File.Delete(fullPath);

System.IO.File.Copy(savePath,strnew,true);

System.IO.File.Delete(savePath);

return strnew;

}

方法2

using (FileStream fs = new FileStream(fullPath, FileMode.Open))

{

using (StreamReader sr = new StreamReader(fs,Encoding.Default))

{

while (!sr.EndOfStream)

{

string sLine = sr.ReadLine();

//StringBuilder b = new StringBuilder();

//b.AppendLine(sLine);

//另存到其他txt文件中

using (StreamWritersw=System.IO.File.AppendText(savepath))

{

//string n = b.ToString();

sw.WriteLine(sLine.ToString());

}

}

}

}

System.IO.File.Delete(fullPath);

string strNewFile = fullPath;

System.IO.File.Copy(savepath, strNewFile, true);

System.IO.File.Delete(savepath);

//using (StreamReader sr = new StreamReader(strNewFile,Encoding.Default, false))

//{

//    using (StreamWriter sw = new StreamWriter(fullPath, falsEncoding.UTF8))

//    {

//        sw.Write(Server.HtmlEncode(sr.ReadToEnd()));

//    }

//}

//System.IO.File.Delete(strNewFile);

FileInfo fileNew = new FileInfo(strNewFile);

sourcesFile.File_Size = fileNew.Length;

this.sourcesFileService.Save(sourcesFile);

}

时间: 2024-12-21 10:09:13

asp.net 解决文本中文乱码   各类文本编码转UTF-8 文本的相关文章

phpstorm配置git并解决Terminal 中文乱码(Unicode 编码)的方法

前言:在使用PHPstorm的时候,需要用到terminal,主要还是用这个操作git,但是在使用这个的时候会发现,代码里所有中文都是乱码状态,不利于使用,下面就来看看怎么解决这个问题 一.先在phpstorm上配置git 1.打开 settings 设置界面,选择 Tools 中的 Terminal (File -> settings -> Tools -> Terminal) 2.修改 Shell path 为你的Git bash 安装路径,我的在 D:\developer\Git\

asp.net 导出excel 中文乱码解决方法 (转)

用我转载的上一篇文章 Asp.net中把DataTable或DataGrid导出为Excel 导出的文档,中文有乱码现象,其实要解决中文乱码很简单,设置一下字符集.如下: // 设置编码和附件格式 curContext.Response.ContentType = "application/vnd.ms-excel"; curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312&

Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题

1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Remind Me Later”. 3. 在“Language Support”中,点击“Install/Remove Languages”,在打开的窗口中,找到“Chinese(simplified)”并勾选上,点击“Apply Changes”. 4. 上面只是下载了语言包,还需要切换系统语言才能使之生效.

Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题[转载]

转载自:http://www.cnblogs.com/zhcncn/p/4032321.html 写在前面:解决gedit 在txt文件格式出现乱码的问题,在我自己的操作中是需要把系统设置成中文显示环境的,不然这个问题没有解决.----tips by chsry. 1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Remind Me Later”. 3. 在“

【转】asp.net Cookie值中文乱码问题解决方法

来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqiang.blog.163.com/blog/#m=0 ============================================================================== cookie中怎么保存中文 在用cookie保存用户名的时候,发现cookie值不能存中文

Linux下关于解决JavaSwing中文乱码的情况

1.下载simsun.ttc(宋体).http://download.csdn.net/detail/lazy_p/4436971 2.linux中跳转到JDK安装目录 ..../jre/lib/fonts 3.sudo mkdir fallback  然后将Windows所拷贝的字体放到fallback中 相关解决网址 http://www.linuxidc.com/Linux/2009-10/21991.htm http://www.cnblogs.com/zhangyongli2011/a

初识JavaBean、以及解决JavaBean中文乱码问题

目的: 1.创建一个表单在index.jsp页面中,如图: 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.

解决Eclipse中文乱码

使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题.在Eclipse可以从几个层面设置编码格式:Workspace.Project.Content Type.File 本文以Eclipse 3.3(英文)为例加以说明: 1. 设置Workspace的编码格式: Windows->Preferences... 打开"首选项"窗口,点击左侧导航树到General->W

彻底解决matplotlib中文乱码问题(转)

彻底解决matplotlib中文乱码问题 1.环境查看a.系统版本查看[[email protected] ~]$ cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core) b.系统中文字体查看 [[email protected] ~]$ fc-list :lang=zh/usr/share/fonts/wqy-microhei/wqy-microhei.ttc: 文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro