问题描述:
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
版权声明:本文为博主原创文章,未经博主允许不得转载。