visual studio2010复制粘贴源代码到Word时乱码问题

问题描述:

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

时间: 2024-08-03 20:37:17

visual studio2010复制粘贴源代码到Word时乱码问题的相关文章

Word中复制粘贴后MathType公式乱码怎么办

  MathType公式复制到Word中后乱码示例 出现此种问题的原因一般来说,是Mathtype复制粘贴格式设置错误,解决方法如下: 1.在MathType编辑窗口中,选择"预置"--"剪切和复制预置". 选择"预置"中的"剪切和复制预置" 2.在剪切和复制预置窗口中选择"公式对象",确定即可.此时再复制公式到Word中就不会出现之前的情况了. 在"剪切和复制预置"中选择"公

Word文档里不连续文本的复制粘贴小秘密

Word 2003支持文本的不连续选择,在对其进行复制和粘贴的操作中,笔者发现一个有趣现象:文本的粘贴顺序与选择顺序或复制位置大有关系.兹举一例加以说明,如图1(为明确起见,每一部分均设为红色并用数字编号). 文档里不连续文本的复制粘贴小秘密-文本文档不能复制粘贴"> 图1 假定现在要全选图中红色的文字并复制粘贴到其他位置,不连续选择的方法是:先选中第一部分,再按住Ctrl键,逐一拖选其他部分. 笔者发现,执行复制粘贴时,操作方法不同,结果便不同. 直接用Ctrl+C组合键进行复制(或单击

fckeditor粘贴Word时弹出窗口取消的方法_javascript技巧

本文实例讲述了fckeditor粘贴Word时弹出窗口取消的方法.分享给大家供大家参考.具体方法如下: 用fckeditor作为用户发布的编辑框,允许用户发布Word.默认的情况下,粘取进word时,提示是否清除word样式,选择"是"则弹出一个框,需要再粘贴一次来清除word样式.这个操作很麻烦,因此要取消. 开始找到的方法是把ckeditor/" target="_blank">fckeditoreditorjs下的fckeditorcode_i

fck编辑器粘贴Word时弹出窗口怎么取消

开始找到的方法是把ckeditor/" target="_blank">fckeditoreditorjs下的fckeditorcode_ie.js,查找PasteFromWord会找到以下内容:  代码如下 复制代码 PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');}

如何一次性复制粘贴Word文档到Excel2007

  我们经常会使用Excel2007来输入排列整齐的人员名单,那么就是要求分布到Excel2007同一列的多个单元格中,想要提高效率,一次性复制粘贴让所有人员名单存在同一个单元格中. 一次遇到需要把Word2007中的排列整齐的人员名单导入Excel2007中,要求分布到同一列的多个单元格中,方便操作.这不能一次性复制粘贴,如果一次性复制粘贴就会让所有人员名单存于同一单元格中.虽然可以一个一个的来复制粘贴,但操作效率极低. 文档到Excel2007-word文档无法复制粘贴"> 内容重排

excel中复制粘贴时的粘贴选项按钮怎么设置来去除?

  1.在excel表格中,我们复制其中两个单元格的数字"122,266"."121,961",粘贴到旁边的空白单元格中,右下角就出现了粘贴选项按钮. 2.要去除这个按钮,先点击功能选项区域的"文件". 3.然后选择"帮助"下的"选项"按钮. 4.在弹出的"excel选项"窗口中,选择"高级". 5.下拉滚动条,找到"剪切.复制和粘贴"下的&quo

Word 2003将文档中的内容复制粘贴为超链接

  动画演示: 文档中的内容复制粘贴为超链接-复制粘贴超链接"> ①在文档中选中你需要的作为超链接的文本,然后单击鼠标右键,选择"复制". ②将鼠标的光标置于你想放置超链接的位置. ③单击"编辑"→"粘贴为超链接".则复制的对象以超链接的方式粘贴到光标所在位置,被创建超链接的文本将变成有颜色的.加下划线的文字. 还有另外一种方法:按鼠标右键把选定的目标拖到需要链接到的位置,释放右键,在快捷菜单中选择"在此创建超级链接&q

关于visual studio2010下的一个问题,读取位置时发生冲突

问题描述 关于visual studio2010下的一个问题,读取位置时发生冲突 新手,调试的时候出现这个问题,版本是2010的,然后系统是win7的,这个跟系统有关吗? 因为我真的是个新手,所以可能文的话很愚蠢,大家不要见怪,帮帮忙,好人一生平安~~ 解决方案 这么问问题除非跟你用过同一个东西而且还遇上同样的错而且还要自己已经解决了还要看到你这问题,基本没这人,贴了这图源码什么的.干嘛的都没,怎么答. 从截图上看应该是c++.net,为什么不用c#呢. 再猜猜吧,我看到SetText,应该就是

c#-求解:C# 操作在word,将richtextbox内容粘贴到word时剪贴板报错

问题描述 求解:C# 操作在word,将richtextbox内容粘贴到word时剪贴板报错 要将RichTextBox中的内容通过剪贴板粘贴到word中. 现在粘贴时报错,说剪贴板为空,但我执行Ctrl+V,可以将剪贴板中的数据粘贴出来.但就是执行paste()时过不去. 代码如下 string strDirectory = System.IO.Directory.GetCurrentDirectory().ToString(); string strTempFileName = strDir