我正在構建一個頁面來管理上傳到服務器的文件。處理德文字符
某些客戶已上傳文件名含有難懂德文字符的文件。 系統似乎無法正確讀取這些內容,雖然它與中文字符沒有問題!
FILENAME1:1--Referenz Frau Strauß.docx
什麼系統看到:1--Referenz Frau Strauß.docx
這裏是我的代碼:
protected void gvFiles_RowDeleting(object sender, EventArgs e)
{
Button btn = (Button)sender;
GridViewRow row = (GridViewRow)btn.NamingContainer;
TableCell cell = row.Cells[0];
string fName = cell.Text;
cell = row.Cells[1];
string owner = cell.Text;
if (owner == "-")
{
string filePath = "";
filePath = getFilePath();
string path = filePath + fName;
if (File.Exists(path))
{
File.Delete(path);
}
}
postbackProc();
}
領域的問題是cell.Text。它正確顯示在屏幕上,但沒有找到該文件。
我從服務器獲取文件名:
private void GetFilesFromDirectory(string DirPath)
{
try
{
DirectoryInfo Dir = new DirectoryInfo(DirPath);
//Label1.Visible = true;
lblPath.Visible = true;
lblPath.Text = DirPath;
FileInfo[] FileList = Dir.GetFiles("*.*", SearchOption.AllDirectories);
DataTable dt = new DataTable("File_List");
DataRow dr;
int iRow = 0;
dt.Columns.Add("refFileName", typeof(String));
dt.Columns.Add("Owner", typeof(String));
foreach (FileInfo FI in FileList)
{
iRow++;
dr = dt.NewRow();
dr["refFileName"] = FI.Name;
dr["Owner"] = getFileData(FI.Name);
dt.Rows.Add(dr);
}
gvFiles.DataSource = dt.DefaultView;
gvFiles.DataBind();
}
catch (Exception ex)
{
throw ex;
}
}
任何解決方案?
擺脫try/catch塊的。它只會搞亂你的堆棧跟蹤。 –
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
這些不是_obscure_德語字符BTW ... – PMF