对于初学者来说,开发的过程中会经常遇到这样那样的报错信息,经常会耗费我们大量的时间来处理。为了查阅方便,以后将会将棘手的错误和解决办法汇总在该页面中。
 
错误信息:
1、 Warning: mssql_query() [ function.mssql-query]: message: 不能用 DB-Library (如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode 排序规则的 Unicode 数据发送到客户端。
 
产生原因:从错误原因推测,估计是ODBC版本的支持性问题吧,目前的ODBC版本不支持PHP提取Unicode类型的数据。暂时没时间作更深入研究,欢迎高手指教。
 
解决方法:目前我所了解的解决办法比较麻烦。一、直接将数据库的ntext类型转换成text类型,这种做法可能会造成数据截取,造成数据丢失。二、在查询语句增加转换类型函数 convert(text,数据段),如果出现截取问题,可增大php.ini的mssql.textlimit和mssql.textsize 数字范围来解决,默认4096.
 
2、 Notice: Undefined offset: 0
 
产生原因:数据下标越界,offset后面的数字代表出问题的下标。
 
3、 Notice: session_start(): ps_files_cleanup_dir: opendir(C:\WINDOWS\TEMP\) failed: Invalid argument (22)
 
产生原因:用户无 C:\WINDOWS\TEMP的修改权限。 FAQ434-4908
 
解决方法:建立C:\WINDOWS\TEMP文件夹,并为互联网来宾用户添加修改权限
 
4、 Notice: iconv() [function.iconv]: Detected an illegal character in input string in a.php on line 796
 
产生原因:在使用iconv()进行编码转换时,所转换的字符串包含GB2312库之外的字体。
 
解决办法:将GB2312改为GBK,因为GBK比GB2312所包含的字体要广