linux初探

首页

应用服务器

Linux技巧

中文文档

Linux初级

服务器源代码

命令详解

Linux技术应用

Linux安全应用

Linux业界新闻

UniX技术文章

Linux编程与内核

Linux数据库

Linux服务器

Linux安装指导

Linux论坛

首页>>Linux数据库>>文章正文

在linux下向oracle数据库中存中文字符的问题


oracle服务器装在windows下,我用select * V$NLS_PARAMETERS;查看服务器端的字符集为SIMPLIFIED

CHINESE_CHINA ZHS16GBK,
于是我在linux下的.bash profile文件中加了 NLS_LANG = "SIMPLIFIED CHINESE_CHINA.ZHS16GBK" export

NLS_LANG ,
这样我在QT程序中用
char sqlstr[64];
sprintf(sqlstr,"update user set name='%s' where id =1",Edit_name->text().toUtf8().data());
这样中文字符不能正常加入到数据库中。
我打印SQL也正常:update user set name='杨某某' where id =1
而且有时一旦运行SQL出错,获取的SQL错误信息也打印不出来。
我直接写SQL语句sprintf(sqlstr,"update user set name='杨某某' where id =1") 这样可以正常添加中文字符到

数据库中。

于我将.bash profile中的NLS_LANG重新设为NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" export NLS_LANG
这样我用sprintf(sqlstr,"update user set name='%s' where id =1",Edit_name->text().toUtf8().data());的语

句也不能正常添加,但返回的错误信息可以显示出来说是:quoted string not property terminated,
我直接写SQL语句sprintf(sqlstr,"update uesr set name='杨某某' where id =1") 这样可以正常添加中文字符到

数据库中。


倒底是何原因呢?

相关文章

·MySQL的技术架构介绍
·甲骨文发布快速开发工具APEX 2.2版本
·详细介绍如何保护 MySQL 重要的数据
·Oracle9i RMAN备份及恢复步骤
·使用oradim恢复windows上的数据库
·Oracle 数据库的安全
·MYSQL初学者使用指南
·MYSQL视频教程(网络数据库)1
·MYSQL视频教程(网络数据库)2

热门文章

·新手入门--全面介绍MySQL的基
·RedHat AS4-U2下Mysql 5.0.2
·linux下 mysql 忘记root用户
·MySQL手册版本 5.0.20-MySQL
·MySQL手册版本 5.0.20-MySQL
·MySQL手册版本 5.0.20-MySQL
·MySQL手册版本 5.0.20-MySQL
·MySQL手册版本 5.0.20-MySQL
·MySQL手册版本 5.0.20-MySQL
·solaris启动过程详解

Copyright@2005 www.linuxGoo.com All Right Reserved