① ASP 上传文件时中文名乱码
这个要先看具体代码中的命名规则
② ASP出现乱码的问题怎么解决
asp提示框乱码是页面编码和文件的编码不一致或者未设置编码导致的。
1、如果程序专文件代码是utf8,也就是文件包属含charset=utf-8,文件保存时编码应该保存为utf-8格式,文件保存如下图。
2、如果程序代码是gb2312,文件保存的时候编码选择ANSI。
3、如果页面未设置编码,需要设置一下编码,页面中写
<meta http-equiv="content-type" content="text/html;charset=gb2312" />或
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
③ asp.net 上传文件时文件名称中文乱码问题
string path = @"C:/Documents and Settings/Administrator/桌面/新建 文本文档.txt"; //文件物理路径 int fcount = 0; string contenttype = ""; string filename = ""; FileInfo fi = new FileInfo(path); //获取文件信息 fcount = (int)fi.Length; contenttype = fi.Extension; filename = fi.FullName.Substring(fi.FullName.LastIndexOf('//') + 1, fi.FullName.LastIndexOf('.') – fi.FullName.LastIndexOf('//') – 1); FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);//读取文件 BinaryReader br = new BinaryReader(fs); byte[] photo = br.ReadBytes(fcount); br.Close(); fs.Close(); Session["test"] = photo; //将文件二进制保存到Session中 byte[] by = (byte[])Session["test"]; //获取session信息 filename = setting.ToHexString(filename);//为了防止中文的乱码,对其进行转码。 Response.AddHeader("Content-Disposition", "attachment; filename=" + filename + contenttype + "");//设置读取的文件头 Response.AddHeader("Content-Length", by.Length.ToString()); Response.ContentType = "application/octet-stream"; //设置输出类型 这里可以保存在数据库中 动态实现类型 Response.OutputStream.Write(by, 0, by.Length); //输出 Response.Flush(); Response.End();//ToHexString方法防止乱码/// <summary> /// 为字符串中的非英文字符编码 /// </summary> /// <param name="s"></param> /// <returns></returns> public static string ToHexString(string s) { char[] chars = s.ToCharArray(); StringBuilder builder = new StringBuilder(); for (int index = 0; index < chars.Length; index++) { bool needToEncode = NeedToEncode(chars[index]); if (needToEncode) { string encodedString = ToHexString(chars[index]); builder.Append(encodedString); } else { builder.Append(chars[index]); } } return builder.ToString(); } /// <summary> ///指定 一个字符是否应该被编码 /// </summary> /// <param name="chr"></param> /// <returns></returns> private static bool NeedToEncode(char chr) { string reservedChars = "$-_.+!*'(),@=&"; if (chr > 127) return true; if (char.IsLetterOrDigit(chr) || reservedChars.IndexOf(chr) >= 0) return false; return true; } /// <summary> /// 为非英文字符串编码 /// </summary> /// <param name="chr"></param> /// <returns></returns> private static string ToHexString(char chr) { UTF8Encoding utf8 = new UTF8Encoding(); byte[] encodedBytes = utf8.GetBytes(chr.ToString()); StringBuilder builder = new StringBuilder(); for (int index = 0; index < encodedBytes.Length; index++) { builder.AppendFormat("%{0}", Convert.ToString(encodedBytes[index], 16)); } return builder.ToString(); }
④ 我的asp程序网站,上传空间后,有某些地方出现乱码,一阵好,一阵坏,求高人指点!!!!!!!!!!!!
主要是代码页问题,正常时HTTP 头部应该有代码页的说明,但有时由于页面里有多种代码(如Script 及 文本),网页访问时实际上各部分是异步分批传送的,当服务程序出现某些问题时,可能出现某个状态下,代码页不明确或有误,则会造成客户端无法正确设别代码页造成乱码,由于异步分批传送的情况可能变化,会有一阵好,一阵坏的现象。
⑤ 求教各位大神,Ueditor ASP 1.4.3 GBK版 上传文件名如果是中文会乱码怎么解决
编码不统一所致,将程序文件与Ueditor ASP 1.4.3 GBK版的文件的编码修改为同一编码
⑥ asp传值乱码问题
一般乱码都是因为网页中使用了两种以上的编码所造成的,比如你网页用utf-8编码,而数据库或者session又是gb2312编码,那么就会乱码了,解决办法是在网页中指明编码类型,比如用utf-8编码,可以在网页最开始加上以下几句代码:<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><%Session.CodePage=65001%><%response.charset="utf-8"%>
⑦ 我在asp里上传图片和提交表单的同时,在写入数据库的时候是乱码
你需要注意在asp页面顶部加上<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>或是<%@ LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>,CODEPAGE="936"对应的是GB2312的编码,文件编码对应是ANSI;CODEPAGE="65001"对应的是UTF-8的编码,文件编码对应是UTF-8;这样应该能避免乱码问题了。
⑧ 创建一个asp网页后,将表和网页上传到了空间,为何会是乱码跪求解决方法,我家是win7
如果显示网页代码,那说明空间不支asp,联系空间服务商解决。
⑨ ASP上传到网上出现乱码
保证所有页面的编码是GB2312
⑩ asp使用utf-8编码乱码问题
asp使用utf-8编码乱码,是设置错误造成的,解决方法如下:
1、首先在浏览器的开发者上面查看了源代码,发现是utf-8。