我有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);
我做错了什么?
答案 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)。 只需删除 - 并输入 - 。