visual studio2010复制粘贴源代码到Word时乱码问题 分类: C# 2014-11-28 09:25 687人阅读 评论(0) 收藏

时间:2020-12-15 04:52:49

问题描述:

visual studio2010 拷贝源代码的时候,在windows自带的写字板和word2010上,粘贴的时候中文字符都会变成乱码。

如:

"该用户已经被成功添加";

将变成

"该?用?户§已?经-被?成é功|添?加ó"; 



参考网上的文章,弄了个客户端工具:

程序界面:

visual studio2010复制粘贴源代码到Word时乱码问题                                                    分类:            C#             2014-11-28 09:25    687人阅读    评论(0)    收藏

核心代码:

        private void BtnconvertClick(object sender, EventArgs e)
{
//取得剪貼簿內容
IDataObject o = Clipboard.GetDataObject();
if (o != null && o.GetDataPresent(DataFormats.Rtf))
{
//取出RTF格式
var rtf = o.GetData(DataFormats.Rtf) as string;
//以Regex.Replace去除多餘字元(註: 不管是否有問題,一律強制處理)
if (rtf != null)
{
string convert = Regex.Replace(rtf, @"\\uinput2(?<uc>\\u-?\d*)\s..",
(m) => m.Groups["uc"].Value + "?");
//另建新DataObject物件
var data = new DataObject();
//RTF格式用修正後的字串,其餘依原值
foreach (String t in o.GetFormats())
{
data.SetData(t, t == "Rich Text Format" ? convert : o.GetData(t));
}
//將修正後內容寫入剪貼簿
Clipboard.SetDataObject(data, true);
}
MessageBox.Show("编码转换成功,粘贴到word吧!", "提示信息");
}
}

程序下载:http://download.csdn.net/detail/a497785609/8206749

参考文章:http://blog.darkthread.net/blogs/darkthreadtw/archive/2010/06/03/fix-vs2010-clipboard-bug.aspx

版权声明:本文为博主原创文章,未经博主允许不得转载。