PHP中的SQL Server奇怪字符,但不是手动查询

时间:2014-09-10 02:41:37

标签: php sql-server

我有php代码使用以下语句将数据更新到sql server

UPDATE [table] SET [third]='Several times (2–5x)' WHERE ...

然而,sql server中更新的数据显示奇怪的字符Several times (2–5x),但如果我尝试在Management Studio中执行SQL语句,它不会给我奇怪的字符。

这是我的PHP代码:

$sql = "UPDATE [table] SET [third]='Several times (2–5x)' WHERE ..."
$sql_update_user_result = odbc_exec($connection, $sql);

我做错了什么?

2 个答案:

答案 0 :(得分:0)

对我来说看起来像编码问题。

尝试查询"设置名称utf8"在执行更新查询之前。

odbc_exec($connection, "SET NAMES utf8");

$sql = "UPDATE [table] SET [third]='Several times (2–5x)' WHERE ..."
$sql_update_user_result = odbc_exec($connection, $sql);

答案 1 :(得分:0)

2-5x中的连字符不是ascii减去,而是另一个相似的看起来的惩罚标记(u + 2013)。 只需删除 - 并输入 - 。