编码问题ASP.net

时间:2011-05-10 08:56:49

标签: asp.net encoding

我上传一个包含“ä”或“ü”的ASP.net文件,在上传时,在服务器上用“ä”或“ü”替换为另一个特殊字符。我该如何解决这个问题。同样的问题是普通的文本框,所以我想它必须对编码做一些事情。

也许你有一个解决方案或一个想法,会很好......: - )

3 个答案:

答案 0 :(得分:1)

很可能是编码问题。

您可以查看:

  • HTML页面上的encoding meta tag是否正确。
  • 页面是否正在向客户端发送正确的编码(在HTTP标头中)
  • 页面是否实际上是以正确的编码编码的(通过VS.NET“文件”菜单,菜单项“高级保存选项”)。

要查看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);
            }