问题描述:
visual studio2010 拷贝源代码的时候,在windows自带的写字板和word2010上,粘贴的时候中文字符都会变成乱码。
如:
"该用户已经被成功添加";
将变成
"该?用?户§已?经-被?成é功|添?加ó";
参考网上的文章,弄了个客户端工具:
程序界面:
核心代码:
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
版权声明:本文为博主原创文章,未经博主允许不得转载。