1

文字列があり、GEMBOX SPREADSHEET を使用しています

string sr = “Save as type”; 

この -- ファイルの種類 -- は通常の文字列ですが、GEMBOX を使用してテキスト ファイルを読み込んでいる場合

このシンボル

“Save as type”

に変換されます

�Save as type�

この問題を解決するには? これは、私がそれを実装しようとしたときに来るコードです

65533
4

1 に答える 1

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;
}

この関数は、すべての特殊文字を置き換えるわけではなく、Word/Excel で使用される最も一般的な特殊文字のみを置き換えます。

最近、Web サービス プロジェクトに取り組んでいるときに同じ問題が発生し、Google 検索中にこの機能に出会いました。これは、コードを見つけた元の記事です: http://www.andornot.com/blog/post/Replace-MS-Word-special-characters-in-javascript-and-C.aspx

于 2013-03-08T13:09:59.543 に答える