加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VS 2010 复制代码到word出现乱码解决办法

(2011-07-20 15:51:13)
标签:

杂谈

分类: ASP.NET

经过2个小时查资料,写代码。终于成功解决VS 2010 复制代码到word出现乱码的问题。

图为  运行去除乱码运行程序界面

http://s15/middle/6697a7294a87b9beb8dae&6902010 复制代码到word出现乱码解决办法" TITLE="VS 2010 复制代码到word出现乱码解决办法" />

下面是主要代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace Take_Out_Messy_Code
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void buttonBegin_Click(object sender, EventArgs e)
        {
            //取得剪貼簿內容
            IDataObject dataObject = Clipboard.GetDataObject();
            if (dataObject.GetDataPresent(DataFormats.Rtf))
            {
                //取出RTF格式
                string rtf = dataObject.GetData(DataFormats.Rtf) as string;
                //以Regex.Replace去除多餘字元(註: 不管是否有問題,一律強制處理)
                string fixedRtf =
                  Regex.Replace(rtf, @"\\uinput2(?<uc>\\u-?\d*)\s..",
                (m) =>
                {
                    return m.Groups["uc"].Value + "?";
                });
                //另建新DataObject物件
                DataObject newDataObject = new DataObject();
                //RTF格式用修正後的字串,其餘依原值
                foreach (String t in dataObject.GetFormats())
                    newDataObject.SetData(t,
                    t == "Rich Text Format" ? fixedRtf :
                    dataObject.GetData(t));
                //將修正後內容寫入剪貼簿
                Clipboard.SetDataObject(newDataObject, true);
                MessageBox.Show("Take Out Pessy Code successful!");
            }
        }
    }
}
    每次想复制带有汉字的代码时,复制后,点击Begin,出现Take Out Pessy Code successful 后在黏贴到word中,就不会出现乱码了。

   希望能帮到遇到此问题的朋友。

   如果还有什么疑问 联系我 QQ:1060389121

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有