本来以为只有非英语国家的程序被英语国际的人看的时候会有代码页问题,不过,还是发现,英语国家的人,也很喜欢使用一些不属于 ASCII 的特殊字符,结果造成那些代码被非英语国家的人使用的时候,也很麻烦。
Visual Studio 缺省使用当前 Windows 代码页保存文件,实在是个不可思议的决定,不过,既然发生了,还是要解决。上网查了一下,奇怪的是,很多人问到这个问题,却没有发现提供解决方法。
确实,在 Visual Studio 的选项里翻弄了半天,还是没有发现可以设置缺省代码页的地方。
最后,在“文件”菜单发现“高级保存选项”,可以设置代码页,再测试一下,这个设置对于新建文件也有效。看来它就是缺省代码页了,只是不知道为什么不放在“选项”对话框中。
另外,还有一个问题,就是现有程序怎么办,没有发现现成的工具,就自己写了一个,代码很简单,一个 WinForm 窗口,有一个叫 FileCollector 的 ListBox,一个叫 Run 的按钮,一个叫 FileCount 的 Label,然后是代码:
// Recode 1.0
// http://llf.hanzify.org
// http://llf.iteye.com
// 作者:梁利锋
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace Recode
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void FileCollector_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Link;
}
private void FileCollector_DragDrop(object sender, DragEventArgs e)
{
var list = (Array) e.Data.GetData(DataFormats.FileDrop);
if (list != null && list.Length > 0)
{
FileCollector.Items.Clear();
foreach (object f in list)
{
string s = f.ToString();
if (File.Exists(s))
{
FileCollector.Items.Add(s);
}
}
}
FileCount.Text = FileCollector.Items.Count.ToString();
}
private void Run_Click(object sender, EventArgs e)
{
if (FileCollector.Items.Count > 0)
{
foreach (string name in FileCollector.Items)
{
RecodeOneFile(name);
}
MessageBox.Show("done!");
}
else
{
MessageBox.Show("Please drag and drop some files to the list box first.");
}
}
private static void RecodeOneFile(string name)
{
string content;
using (var sr = new StreamReader(name, Encoding.GetEncoding(1252))) // 英文代码页
{
content = sr.ReadToEnd();
}
using (var sw = new StreamWriter(name, false, Encoding.UTF8))
{
sw.Write(content);
}
}
}
}
我个人比较喜欢带签名的 UTF-8 格式,对于源文件的代码页,可以查一下这个
代码页介绍的文章。
分享到:
相关推荐
此下载文件安装 Visual Studio 2008 SP1 和 .NET Framework 3.5 Service Pack 1 (SP1)。SP1 解决通过客户和合作伙伴反馈以及内部测试而发现的问题。这些 Service Pack 为Visual Studio 和 .NET Framework 用户在...
Visual Studio 2008开发指南,英文版资料,目前还没有中文版哦!不过值得观看哦!(分成了两部压缩卷哦!此卷为第二部分哦!)
Visual Studio 2008快捷键大全,囊括了visual studio 2008的所有快捷键,使我们的编程更方便。
模仿百度博客源码程序.net课程设计,3层架构,非常好例子,VisualStudio2008创建
因为Visual studio 2017采用的是下载安装模式,所以下载比较慢,安装不方便。所以,这几天将下载过的visual studio 2017的文件打包成ISO文件并存到了百度网盘。希望对现在需要的朋友以下载帮助。
Microsoft Visual Studio 2008 Unleashed is an end-to-end, deep dive into the Visual Studio development environment. It’s meant to provide you guidance on how you can squeeze the ultimate productivity ...
分割窗体源程序,把窗体分成两部分图片,visual studio2008C#源代码编写
此下载文件会安装 Visual Studio 2008 Service Pack 1 (SP1) 和 .NET Framework 3.5 SP1。SP1 解决了在客户和合作伙伴反馈以及内部测试中发现的问题。这些 Service Pack 为 Visual Studio 和 .NET Framework 用户在...
visual studio 2008 jquery 代码提示补丁
VisualStudio2008的详细使用方法
Visual Studio 2008常用快捷键 Visual Studio 2008常用快捷键 Visual Studio 2008常用快捷键
包含VS2008,2010,11的...在Visual Studio编辑器编辑代码片段 Visual Studio自动化对象的完全访问 FileCodeModel访问,SmartFormat,代码替代,光标定位更 超过100个有用的命令. http://www.devprojects.net/
本堂课的主题是C# 3.0的新功能介绍,我们将回顾.NET Framework与Visual Studio的发展史,再转入C# 3.0语言的新功能学习,例如:隐式类型的本地变量和数组,匿名类型,自动实现的属性等。 课程讲师: 徐长龙 MSDN...
因最近开发需要,要使用VS2008,但是习惯了VS2017的深色主题,于是根据Visual Studio 2017深色主题默认颜色设置和Resharper2018代码着色调校了Visual Studio 2008深色背景颜色设置(包含了Visual Assist X 10.9.2283...
Intel Visual Fortran v11与Visual Studio 2008环境的入门教材
Visual Studio 2008常用小技巧,特殊快捷键,特殊设置
visual studio 2008下载,找了好长的时间,终于找到了,需要的朋友快来下载吧
microsoft visual studio 2008 教程
去除Microsoft Visual studio 2008 beta2.img 过期限制 Microsoft Visual Studio 2008 版本 9.0.20706.1 Beta2 http://blog.csdn.net/QQstone/archive/2008/03/23/2208445.aspx
Visual Studio 2008 揭秘即Visual Studio 2008 Unleashed,是讲述VS 开发环境的进阶书籍。