Pages

2011年6月4日 星期六

PHP中讀取 mssql的出現不能用的DB - Library(如ISQL中)或ODBC的3.7

用PHP的去讀 mssql的出現不能用的DB - Library(如ISQL中)或ODBC的3.7類似的錯誤,這是因為 mssql的PHP中的文字編碼和編碼不一致造成的。

在用的PHP讀取 mssql的的時候發現無法讀取數據,發生錯誤。

完整的錯誤提示為:警告:Warning: mssql_query() [function.mssql-query]: message: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

中文提示:警告:mssql_query()[function.mssql-查詢]:消息:不能用的DB - Library(如ISQL中)或ODBC的3.7或更早版本將 ntext的數據或僅使用Unicode的排序規則的Unicode的數據發送到客戶端。

錯誤原因:mssql的的文本字段的編碼和PHP中的內置編碼不一致導致的。

解決方法:$sql = "select CAST(test1 AS TEXT) AS test1 from tablename";

沒有留言:

張貼留言