对中英文编码问题
(一)服务器端
问题提出:
在网页中打开文件时,如果文件名中含有中文的话,文件打开出错。
解决方案:
给文件名编码。
经历的步骤:
1、Dim fileName As String = Server.UrlEncode(attachementObj.FileName)
此方法,可以解决全中文名称,全英文名称、中文数字混杂名称、英文数字混杂名称,但是文件名称中英文混杂的文件,运行出错,找不到文件。
2、Dim filename As String = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(attachementObj.FileName))
此方法,可以解决中英文混杂的问题,但是当文件名中有空格时,运行出错,找不到文件
3、Dim filename As String = System.Text.Encoding.UTF8.GetString(System.Text.Encoding.UTF8.GetBytes(attachementObj.FileName))
此方法,一切OK。基本上所有的文件名称组合我都测试通过:全英文、全中文、中文+数字、英文+数字、中文+英文、中文+空格、英文+空格。
开心,总算是弄出来了。
(二)客户端
在JS中对中文字符串编码,用方法:escape(str)来解决。
此方法,不会对英文和路径中的“/”编码。好用。
posted on 2006-04-14 16:50 littlebamboo 阅读(435) 评论(2) 编辑 收藏 举报