VS 2010 復(fù)制代碼到word出現(xiàn)亂碼解決辦法
直接復(fù)制VS2010的代碼到Word里面去時,漢字會出現(xiàn)如下亂碼,雖然可以采用記事本打開然后復(fù)制的方法,但是這樣就失去了高亮色,不是我們想要的,下面的小程序就是解決這個問題的。
亂碼:
復(fù)制代碼代碼如下:
if (dataObject.GetDataPresent(DataFormats.Rtf))
            {
                //取¨?出?RTF格?式º?
                string rtf = dataObject.GetData(DataFormats.Rtf) as string;
                //以°?Regex.Replace去¨£¤除y多¨¤余®¨¤字Á?元a(註]: 不?管¨¹是º?否¤?有®D問?題
}
使用時,先正常復(fù)制代碼到剪貼板,然后點擊“亂碼修正”按鈕,最后直接粘貼到Word里面就不會有亂碼了。
附代碼:
復(fù)制代碼代碼如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;</p><p>namespace VS中文亂碼修復(fù)程序
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }</p><p>        private void button亂碼修正_Click(object sender, EventArgs e)
        {
            //取得剪貼板內(nèi)容
            IDataObject dataObject = Clipboard.GetDataObject();
            if (dataObject.GetDataPresent(DataFormats.Rtf))
            {
                //取出RTF格式
                string rtf = dataObject.GetData(DataFormats.Rtf) as string;
                //以Regex.Replace去除多余字元(註: 不管是否有問題,一律強制處理)
                string fixedRtf =
                  System.Text.RegularExpressions.Regex.Replace(rtf, @"http://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));
                //將修正內(nèi)容寫入剪貼板
                Clipboard.SetDataObject(newDataObject, true);
                MessageBox.Show("中文亂碼修正成功!/n現(xiàn)在您可以直接到Word里按Ctrl+V粘貼了!", "成功");
            }
            else
                MessageBox.Show("您粘貼的不是代碼!","錯誤");            
新聞熱點
疑難解答
圖片精選