GBase 8s
适配迁移
问答

PHP使用odbc_connect插入数据异常

发表于2025-09-02 17:32:16100次浏览11个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:GBASE 8S

【操作系统】:

【CPU】:

【问题描述】*:

PHP使用odbc_connect插入数据时,如果插入的是中文,数据库存储的信息乱码

评论

登录后才可以发表评论
用户头像
路路路发表于 11个月前
稍等
用户头像
琳大大发表于 11个月前
中文乱码问题,需要换成绑定变量形式
GBase用户20917发表于 11个月前
@琳大大:什么意思 没明白
用户头像
琳大大发表于 11个月前
@GBase用户20917:插入通过绑定的形式,不要直接insert
用户头像
琳大大发表于 11个月前
@GBase用户20917:// $sql="insert into tabpdoodbc values(?,?)";
// $stmt = $dsn->prepare($sql);
// $stmt->execute([1,'南大通用']);
// $stmt = $dsn->prepare($sql)->execute([2,'南大通用北京分公司']);
类似这样
GBase用户20917发表于 11个月前
@琳大大:不是说要用odbc_connect这种方式吗,用prepare这种方式查询数据都是null
用户头像
琳大大发表于 11个月前
@GBase用户20917:就是举例说下绑定的意思,需要走odbc_connect的,绑定是为了解决乱码的问题~
GBase用户20917发表于 11个月前
@琳大大:可以写个odbc_connect的插入数据的示例吗
用户头像
琳大大发表于 11个月前
@GBase用户20917:$sql = "INSERT INTO tabpdoodbc VALUES(?, ?)";
$stmt = odbc_prepare($conn, $sql);
$param1 = 1;
$param2 = '南大通用';
$result1 = odbc_execute($stmt, array($param1, $param2));
这样试试
用户头像
liaosnet发表于 11个月前
@GBase用户20917:header('Content-type:text/html;charset=utf-8');

https://gbasedbt.com/index.php/archives/589/
青菇凉发表于 2个月前
蹲个答案。