编码/解码Web内容的问题

时间:2012-12-10 17:52:22

标签: c# encoding decode

我正在处理我正在处理的网站内容的编码/解码问题。我正在从网上提取一个XML文件,它可能有法语和德语字符和“e”“r”等的小撇号,但大部分内容都是英文的。当我尝试通过选择所有不同的单词来处理它们时,有时会将重复数据保存到数据库中。我应该使用任何编码/解码类/库,以便所有单词在一次编码/解码中是统一的吗?我认为在我的情况下,即使这些单词是英文的,看起来两个相似的单词的编码不同,而且由于编码不同,C#相等运算符==与这两个不匹配?

换句话说,"car" == "car"因编码而无法匹配?这甚至可能吗?我该如何解决?我应该使用?

解码所有内容

更新:代码:下面的代码将检查单词是否存在,如果它是拉它,否则插入一个新单词。因此,应始终将不同的词汇输入数据库。

public static int GetWordID(string word)
{
    string _truncatedword = String.Empty;

    if (word.Length > 48)
    {
        _truncatedword = word.Substring(0, 47).Trim().ToLower();
    }
    else
    {
        _truncatedword = word.Trim().ToLower();
    }

    if (DWords.ContainsKey(_truncatedword))
    {
        return DWords[_truncatedword];
    }
    else
    {
        using (SqlConnection _connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString))
        {
            _connection.Open();

            SqlDataAdapter _adapter = new SqlDataAdapter("select wordid from word where word = @word", _connection);
            _adapter.SelectCommand.Parameters.AddWithValue("@word", _truncatedword);

            DataTable _dtWord = new DataTable();
            _adapter.Fill(_dtWord);

            if (_dtWord.Rows.Count > 0)
            {
                int _wordID = Convert.ToInt32(_dtWord.Rows[0]["wordid"]);

                DWords.Add(_truncatedword, _wordID);

                return _wordID;
            }
            else
            {
                SqlCommand _command = new SqlCommand("insert into word(word) values(@word); select @@identity", _connection);
                _command.Parameters.AddWithValue("@word", _truncatedword);

                int _wordID = Convert.ToInt32(_command.ExecuteScalar());

                DWords.Add(_truncatedword, _wordID);

                return _wordID;
            }
        }
    }
}

0 个答案:

没有答案