将特殊字符从MS-Word或Open Office writer转换为记事本

Ara*_*ind 1 c# gembox-spreadsheet

我有一个字符串,我正在使用GEMBOX SPREADSHEET

string sr = “Save as type”; 
Run Code Online (Sandbox Code Playgroud)

在这 - 保存类型 - 是正常的字符串,但当我加载文本文件时使用GEMBOX

这个符号

“Save as type”
Run Code Online (Sandbox Code Playgroud)

被转换为

?Save as type?
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?当我尝试实现它时,这就是代码

65533
Run Code Online (Sandbox Code Playgroud)

Rip*_*toR 5

从工作表中解析数据时,可以使用以下函数替换特殊的Word/Excel字符:

public static string ReplaceWordChars(this string text)
{
    var s = text;

    s = Regex.Replace(s, "[\u2018|\u2019|\u201A]", "'"); // smart single quotes and apostrophe
    s = Regex.Replace(s, "[\u201C|\u201D|\u201E]", "\""); // smart double quotes
    s = Regex.Replace(s, "\u2026", "..."); // ellipsis
    s = Regex.Replace(s, "[\u2013|\u2014]", "-"); // dashes
    s = Regex.Replace(s, "\u02C6", "^"); // circumflex
    s = Regex.Replace(s, "\u2039", "<"); // open angle bracket
    s = Regex.Replace(s, "\u203A", ">"); // close angle bracket
    s = Regex.Replace(s, "[\u02DC|\u00A0]", " "); // spaces

    return s;
}
Run Code Online (Sandbox Code Playgroud)

此功能不会替换所有特殊字符,而只会替换Word/Excel使用的最常用字符.

我最近在处理Web服务项目时遇到了同样的问题,并且在Google搜索期间遇到了这个功能.这是我找到代码的原始文章:http://www.andornot.com/blog/post/Replace-MS-Word-special-characters-in-javascript-and-C.aspx