簡體   English   中英

MsSQL編碼問題

[英]MsSQL encoding issue

我在MsSQL中有一個數據庫,我通過PDO對象連接我的PHP代碼。 數據庫有“Kadź”列。

現在 - 如果我執行一個

SELECT Kadź FROM <tablename>

從我的SQL Server Management Studio查詢 - 一切正常,我得到了結果。 但是,當我嘗試執行一個

$sql = "SELECT Kadź FROM <tablename>";

我接受了

SQLSTATE [HY000]:常規錯誤:207常規SQL Server錯誤:檢查來自SQL Server的消息[207](嚴重級16)[(null)]

錯誤。 查詢任何其他列不會產生任何問題,但是這一點確實存在。 我懷疑這是因為該列名稱中的“ź”字符,在我的PHP代碼和數據庫之間的路由上沒有正確編碼。

我的服務器使用的排序規則是“Polish_Cl_Al”。 我試過通過添加屬性來修復它

$this->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAME'utf8'");

但PDO回答我說,司機不支持它......

提前感謝您的幫助

你可以試試:

$pdo = new PDO('dblib:host=localhost;dbname=databasename;charset=UTF-8', 'username', 'password');

或(對於窗戶)

$smth->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM