1
在我們的應用程序中,我們使用Ms Sql數據庫,它位於sqladmin.winhost.com上。我們用ODBC驅動程序和Windows服務器安裝PHP。該數據庫使用歸類「Arabic_CI_AI」。在ODBC中插入阿拉伯語文本使用MSSQL的PHP驅動程序
下面是簡單地將數據插入表的代碼。查詢完全執行成功,但是阿拉伯數據丟失並且冒號一些隨機字符串是表格。
當$ request ['username']的值在dtabase中是「احمدعليعريبي」時,它會以一些隨機字符串接收。
<?php
$connectionString = 'DRIVER={SQL Server};SERVER=' . SERVER_NAME . ';DATABASE=' . DB_NAME;
$conn = odbc_connect($connectionString, USER_NAME, PASSWORD);
$request=$_POST;
echo $sql="INSERT INTO MobileNotificaiton.emp_user VALUES('[email protected]','MXI',200,'{$request['username']}','123','12365897452',1,'','','','')";
$results = odbc_exec($conn, $sql);
$close = odbc_close($conn);
?>
任何一個可以指導我嗎?
在此先感謝。
什麼是你的PHP應用程序內(阿拉伯語)數據的編碼? UTF-8? SQL Server中相應列的列類型是什麼? NVARCHAR? – erg
在PHP應用程序中,阿拉伯語編碼是UTF-8,列類型是nvarchar,數據庫排序規則是阿拉伯語_CI_AI –
您嘗試過'N'{$ request ['username']}''。在字符串之前放置'N'將確保使用unicode值。參見info [here](https://support.microsoft.com/en-ca/help/239530/you-must-precede-all-unicode-strings-with-a-prefix-n-when-you-deal-使用-unicode-string-constants-in-sql-server) – chrisuae