我上传一个包含“ä”或“ü”的ASP.net文件,在上传时,在服务器上用“ä”或“ü”替换为另一个特殊字符。我该如何解决这个问题。同样的问题是普通的文本框,所以我想它必须对编码做一些事情。
也许你有一个解决方案或一个想法,会很好......: - )
答案 0 :(得分:1)
很可能是编码问题。
您可以查看:
要查看HTTP标头,请使用例如Internet Explorer的ieHttpHeaders extension。
要更改发送的编码,请使用WEB.CONFIG中的<globalization>
tag更改所有页面,或使用@Page
directive按页面定义响应编码。
答案 1 :(得分:0)
将以下代码放入web.config
<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
</system.web>
</configuration>
答案 2 :(得分:0)
if(File.Exists(Server.MapPath(“../ App_Data / Karten /”)+ FileUpload1.PostedFile.FileName.Replace(“¶”,“oe”)。替换(“à - ”,“ OE “)更换(” A - “)更换( ” “)替换( ””,“ AE澶”,“ AE那张”, “UE”。)更换( “AOE”, “UE”)) ){ Label1.Text =“Datei existiert bereits”; }其他{ string filepath = FileUpload1.PostedFile.FileName; System.Diagnostics.Debug.WriteLine(“Filename”+ filepath);
System.Diagnostics.Debug.WriteLine("Filename" + filepath.Replace("ö","oe").Replace("Ö","Oe").Replace("Ö","ae").Replace("ä","Ae").Replace("ü","ue").Replace("Ü","Ue"));
if (FileUpload1.PostedFile.FileName.ToLower().EndsWith("jpeg") || FileUpload1.PostedFile.FileName.ToLower().EndsWith("jpg"))
{
System.Drawing.Image UploadedImage = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
if (UploadedImage == null)
{
Label1.Text = "Kein Bild";
System.IO.File.Delete(Server.MapPath("../App_Data/Karten/") + filepath);
}