VS2010复制代码到word时出现中文乱码的解决办法

所属分类: 软件教程 / 编程开发 阅读数: 2116
收藏 0 赞 0 分享

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

直接复制VS2010的代码到Word里面去时,汉字会出现如下乱码,虽然可以采用记事本打开然后复制的方法,但是这样就失去了高亮色,不是我们想要的,下面的小程序就是解决这个问题的。

乱码:

复制代码
代码如下:

if (dataObject.GetDataPresent(DataFormats.Rtf))
{
//取¨?出?RTF格?式º?
string rtf = dataObject.GetData(DataFormats.Rtf) as string;
//以°?Regex.Replace去¨£¤除y多¨¤余®¨¤字Á?元a(註]: 不?管¨¹是º?否¤?有®D問?題
}


使用时,先正常复制代码到剪贴板,然后点击“乱码修正”按钮,最后直接粘贴到Word里面就不会有乱码了。

附代码:


复制代码
代码如下:

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中文乱码修复程序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}</p> <p> private void button乱码修正_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 =
System.Text.RegularExpressions.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("中文乱码修正成功!\n现在您可以直接到Word里按Ctrl+V粘贴了!", "成功");
}
else
MessageBox.Show("您粘贴的不是代码!","错误");
}
}
}

更多精彩内容其他人还在看

Unity3D摄像机跟随小球移动而不旋转的设置方法

Unity3D中怎样让摄像机跟随小球移动而不旋转?Unity3D中使用摄像机拍小球,它在移动的过程中,自身是不断旋转的,所以,摄像机也会跟着一起旋转,怎么让摄像机不转呢?请看下文详细介绍
收藏 0 赞 0 分享

Myeclipse断点不起作用出现斜线该怎么办呢?

Myeclipse断点不起作用出现斜线该怎么办呢?Myeclipse断点处如果出现斜线,那就说明断点不起作用了,该怎么处理这种情况呢?下面我们一起来看看详细的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

Visual Studio中无法查找或打开PDB文件怎么办?

Visual Studio中无法查找或打开PDB文件怎么办?在VS底部的“输出”框中提示“无法查找或打开 PDB 文件”,出现这个问题该怎么解决呢?下面我们来看看详细的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

VS2013调试代码时怎么避免加载符号?

VS2013调试代码时怎么避免加载符号?VS2013调试代码时候,当电脑接入网络后系统会自动从Microsoft 符号服务器加载PDB符号文件,一旦加载符号就会变得很慢,下面我们来看看详细的解决办法
收藏 0 赞 0 分享

eclipse怎么更换工作空间?eclipse更换工作区的方法

eclipse怎么更换工作空间?eclipse经常编辑代码,eclipse默认的的工作区在C盘,经常使用eclipse写代码会导致C盘空间缩小,该怎么更换工作区呢?下面我们来看看eclipse更换工作区的方法
收藏 0 赞 0 分享

vs2010怎么更换默认的起始页?vs2010起始页添加命令按钮的方法

vs2010怎么更换默认的起始页?vs2010起始页就是vs启动的时候默认打开的页面,当然我们可以根据自己的需要来设置起始页,下面我们来看看vs2010起始页添加命令按钮的方法
收藏 0 赞 0 分享

eclipse中sdk与adt版本不兼容该怎么解决? 三种方法帮你搞定

eclipse中sdk与adt版本不兼容该怎么解决?出现这种问题基本上是因为sdk版本过高,今天我们来看看三种比较简单的解决办法,图文教程很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

vb怎么输出菱形图案?vb绘制菱形的教程

vb怎么输出菱形图案?vb编辑的代码可以实现很多功能,今天我们就来看看怎么使用vb绘制菱形图案,这篇教程很简单,适合新手学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android Studio怎么导出设置?

Android Studio怎么导出设置?Android Studio中设置了很多符合自己习惯的东西,但是如果重新安装软件,之前设置的东西都会消失,该怎么将这些设置导出来呢?下面我们一起来看看详细教程
收藏 0 赞 0 分享

怎么使用arcgis对进行地图投影?

怎么使用arcgis对进行地图投影?没有投影过的地图该怎么投影?我们想将是西安80的shp数据,但是一般的搜不带号,想转换成带号的,就需要使用arcgis对进行地图投影,详细教程请看下文
收藏 0 赞 0 分享
查看更多