asp网站程序使用美国空间经常碰到的问题

80酷酷网    80kuku.com

由于国外主机商的设置规则不符合国内程序员的习惯,当我们的Asp程序迁移到海外主机(主要为英文平台)时候会碰到很多问题了。我这里总结下windows主机(主要是asp/asp.net 这两种程序)会出现什么样的问题,希望对大家有帮助。也希望能给同行提供一个参考!

    1、access数据库无法运作。提示以下错误:
Microsoft JET Database Engine error ‘80004005′
Selected collating sequence not supported by the operating system.

    出现这种情况是因为操作系统语言版本不一样,导致access的数据库排序次序错误。解决办法:
打开数据库->工具->选项->常规->新建数据库排序次序->选择常规,点应用,确定,然后点工具->数据库实用工具->压缩和修复数据库
关掉数据库,上传数据库到空间上。

  2、中文乱码或者中文内容无法更新,这个问题是编码的问题。由于国内空间默认asp编码是936,就是简体中文,而英文操作系统下的虚拟主机默认的肯定是英文的编码。所以,解决方法就是在asp页面加入<% codepage=”936″ %>,记得,是加入到第一行!

  3、无法生成含中文字符的文件,这也是操作系统语言版本不同的缘故。有两种解决办法,1、用其他方法生成文件,如adostream,2、在CreateTextFile(filename)改成CreateTextFile(filename,1,1)  第一个1表示覆盖,第二个1表示用unicode格式创建文件。如果你生成的是html页,随之而来的问题是firefox浏览器下,显示得一踏糊涂,尤其是用css控制的页面。这是因为unicode文件在firefox下无法正常解析,所以还是推荐第一种方法

  4、无组件上传无法工作,问题有2个,1、英文操作系统下的日期生成格式跟中文操作系统下不一样,所以自动生成文件名字的功能就无法实现。解决办法就是找到  strDate  = replace(cstr(Date()), 这行(原完整代码忘了,所以只要找前面部分,都是一样的),替换成  strDate = replace(cstr(Date()),”/”,”").  问题解决,2、出现错误提示:Invalid procedure call or argument: ‘Chr’  ,这个是chr问题,由于操作系统不一样,运算方法也就不一样了,一般这个问题出现的上传类是化境无组件上传类。所以找到stemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c))) 替换成stemp=stemp&Chrw(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c))),问题就解决了。

  5、无法生成文件或者无法更新数据库,问题的所在是安全设置思路不一样。国内的空间开设了就会给足全部权限,而国外都需要手工去设置相关目录的写入权限。因此进入你空间管理面版,(plesk控制面版和godaddy一般的都可以按照这个方法)进入文件管理界面->进入相关目录(数据库所在目录或者你想生成文件的目录)->点permession,给isur-computername全部权限(plesk)或者选中写入权限(godaddy),点确定就ok了。

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: