中文字符編碼轉換問題

當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

相關文章
相關標籤/搜索