Case:同样的代码,本地开发环境(local is Chinese Simplify)可以成功运行,但是放到Windows Server 2008 R2(Local is United State) 上,同样的代码失败了。最后跑到server上用vs2012 获取最新代码发现所有的中文都是乱码。

Solution1:只该代码,其它设置不变(server 上的是设置不是我们这些小兵想动就可以动的)。我写了两个方法。

         public bool CompareChineseString(string flagString,string garbageString)
{
// string flagStr = "備註";
string nomalString=string.Empty;
ConvertGarbageStringToChinese(garbageString,ref nomalString);
if (flagString.Contains(nomalString))
{
return true;
}
else
{
return false;
}
}
public void ConvertGarbageStringToChinese(string garbageString, ref string noamlString)
{
// string utfinfo = "‚äÔ]";
Encoding defaultEncoding = Encoding.Default;
Encoding gb18030 = Encoding.GetEncoding("gb18030"); // It can also used "gb2312"
byte[] bytes = defaultEncoding.GetBytes(garbageString);
noamlString = gb18030.GetString(bytes);
}

在方法ConvertGarbageStringToChinese()中,我们取得是当前系统的Encoding 方式。对于Encoding设置各个系统的会有差异,我们可以用C# 的方法 来查看Encoding.Default.EncodingName。由于我们所用的server上 用的encoding 的code page 的名称是windows-1252。但是我们本地用的是:gb2312,所以程序在本地可以运行成功,但是server上会出现乱码,所以不成功。

下面看一下调用:

             string flagStr = "備註";
string utfinfo = "‚äÔ]";
using (ConvertChineseWithDiffEncoding compareMethod = new ConvertChineseWithDiffEncoding())
{
if (compareMethod.CompareChineseString(flagStr, utfinfo))
{
Console.WriteLine("the same");
}
else
{
Console.WriteLine("different");
}
}

在我们的环境下,flagStr 是从excel 中读取的,所以这里就设成一个正常值。另一个传入的字符串就是乱码部分了,也就是将要处理的。

Solution2:更改visual studio 的TextEditor设置(For example vs2012):

Tools -> Options -> Auto-detect UTF-8 encoding without signature

select the checkbox.

Solutin3:control panel -> Language, and Region ->Region ->Administative tab -> Change system locale:-> select Chinese( simplified,China) from the dropdownlist.

.net 中文显示乱码问题(Chinese display with messy code)的更多相关文章

  1. MySQL 中文显示乱码以及中文查询条件返回0条结果的问题解决

      最近关于中文显示乱码的贴子比较多,所以也做了个总结: 可以参考一下杨涛涛版主的<各种乱码问题汇总>http://topic.csdn.net/u/20071124/08/3b7eae6 ...

  2. MySQL 中文显示乱码

    最近关于中文显示乱码的贴子比较多,所以也做了个总结: 可以参考一下杨涛涛版主的<各种乱码问题汇总> http://topic.csdn.net/u/20071124/08/3b7eae69 ...

  3. Linux中文显示乱码?如何设置centos显示中文

    Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一 ...

  4. Xshell个性化设置,解决Xshell遇到中文显示乱码的问题

    在同事的推荐下,今天开始使用Xshell连接Linux,但是发现一个“遇到中文显示乱码”的问题, 同事的解决方案如下: 平常给Linux上传文件之前,先把文件转换成UTF-8编码形式, 然后设置Xsh ...

  5. (转)sqlplus中文显示乱码的问题

    sqlplus中文显示乱码的问题 2010-07-19 11:33:26 分类: LINUX 在windows下sqlplus完全正常,可是到linux下,sqlplus中文显示就出问题了,总是显示“ ...

  6. GB2312、GBK和UTF-8三种编码以及QT中文显示乱码问题

    1.GB2312.GBK和UTF-8三种编码的简要说明 GB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们中国人的应用来说,用这三种编码 比较多.简单的说一下, ...

  7. SecureCRT中文显示乱码

    环境:SecureCRT登陆REDHAT5.3 LINUX系统 问题:vi编辑器编辑文件时文件中的内容中文显示乱码,但是直接使用linux系统terminal打开此文件时中文显示正常,确诊问题出现在客 ...

  8. Linux下中文显示乱码问题

    Linux下中文显示乱码问题 输出编码选utf-8 然后文件本身编码也要是utf-8

  9. linux中文显示乱码的解决办法

    linux中文显示乱码的解决办法 linux中文显示乱码是一件让人很头疼的事情. linux中文显示乱码的解决办法:[root@kk]#vi /etc/sysconfig/i18n将文件中的内容修改为 ...

随机推荐

  1. JavaScript 入門

    <html lang="en"> <head>   <meta charset="UTF-8">   <meta na ...

  2. Web颜色搭配 - 收集

    颜色1  颜色一   背景 字 RGB 43,41,46 92,187,207 HEX #2B292E #5CBBCF HSB 264,11,18 190,56,81 CMYK 7,11,0,82 5 ...

  3. xStream完美转换XML、JSON_java

    http://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.html

  4. 算法面试题 之 最长递增子序列 LIS

    找出最长递增序列 O(NlogN)(不一定连续!) 参考 http://www.felix021.com/blog/read.php?1587%E5%8F%AF%E6%98%AF%E8%BF%9E%E ...

  5. HTML标签解释大全

      一.HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(DTD).   标签:a 说明:标明超链接的起始或目的位置.   标签:acronym 说明:标明缩写词. ...

  6. Windows 技巧

    1.反选 快捷键: Alt+E+I 2. windows7 以上 cmd命令 切换目录 F:\>cd /d c:\windowsc:\Windows> 3.

  7. css包含块containing block

    <css权威指南>P167: The Containing Block Every element is laid out with respect to its containing b ...

  8. Zombie.js Insanely fast, headless full-stack testing using Node.js

    (92) Is there a better crawler than Scrapy? - Quora Is there a better crawler than Scrapy?Edit Insan ...

  9. linux 虚拟文件系统----------Virtual File System VFSkky

    在了解虚拟文件系统之前,必须先知道什么是 Kernal  Space 与 User  Space. Kernal Space 与User Space 的差别,在于内存使用上安全机制的差异. kerna ...

  10. SQL每个月份的发生额都比101科目多的科目

    请用SQL语句实现:从TestDB数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目.请注意:TestDB中有很多科目,都有1-12月份的发生额.                  ...