0
我有代碼將字符串從「ISO-8859-1」轉換爲「windows-1256」字符集。例如,當我設置p_word = "ÓíÏÉ Úáí ÇáØíÈ
它會成功轉換它。 但是,當我設置p_word = row.Cells[1].Text
當我在標籤中顯示它,它等於ÓíÏÉ Úáí ÇáØíÈ
它不起作用,任何人都可以幫忙嗎? 這是我的代碼:我的代碼不會轉換字符串row.cells,但轉換字符串值
protected string convert_to_readable(string p_word)
{
string unreadable = p_word;
Encoding Unkown_lang = Encoding.GetEncoding("ISO-8859-1");
Encoding Arabic_lang = Encoding.GetEncoding("windows-1256");
byte[] Unkown_langBytes = Unkown_lang.GetBytes(unreadable);
string Arabic_langWord = Arabic_lang.GetString(Unkown_langBytes);
return Arabic_langWord;
}
如果你已經*得到*一個字符串,可能已經太晚了。沒有將字符串「from」ISO-8859-1轉換爲字符串......字符串已經是一系列UTF-16編碼單元。相反,你應該解決'p_word'來自哪裏。 (我也強烈建議你開始遵循.NET命名約定,以使其他人更容易閱讀你的代碼。) –
我將p_word作爲參數值傳遞,例如convert_to_readable(「ÓíÏÉÚáíÇáØíÈ」)工作正常,但要說字符串x = row.Cells [1] .Text;然後convert_to_readable(x)不起作用,, – MaJiD
「不起作用」並沒有告訴我們什麼關於輸入是什麼或輸出是什麼。這聽起來像問題是'row.Cells [1] .Text'不適合開始 - 但你真的,不應該使用你提供的代碼。這是一個徹頭徹尾的壞主意。 –