當FileName中包含中文時,能夠嘗試將路徑編碼進行轉換後再使用,例如sqilte不是不支持中文,它僅以UTF-8編碼下的中文:測試
byte[] defaultbytes = System.Text.Encoding.Default.GetBytes(FileName); byte[] utf8bytes = System.Text.Encoding.Convert(System.Text.Encoding.Default, System.Text.Encoding.UTF8, utf8bytes); FileName = System.Text.Encoding.Default.GetString(utf8bytes2);
雖然顯示上仍然是亂碼,但它的字節組已經轉換爲UTF-8了。編碼
ikok以「測試」爲例,給了以下例子:spa
string test = "測試"; byte[] utf8bytes = System.Text.Encoding.Default.GetBytes(test); byte[] utf8bytes2 = System.Text.Encoding.Convert(System.Text.Encoding.Default, System.Text.Encoding.UTF8, utf8bytes); test = System.Text.Encoding.Default.GetString(utf8bytes2);
最終的結果test顯示爲:嫺嬭瘯code
「嫺嬭瘯」是UTF-8編碼下的「測試」以Default編碼顯示的結果。懂?blog