php通过odbc用sql语句查询时无法查询中文,应该怎么转码?

问题描述

php通过odbc用sql语句查询时无法查询中文,应该怎么转码?
数据库是informix,编码是iso-8859-1,php编码是gbk。从网上找了各种方式转换,都不行。
代码如下,其中$licenseno是车牌号,中间有省份缩写是汉字。

$sql.=""and b.licenseno = """".$licenseno."""""";

会返回错误如下:

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Informix][Informix ODBC Driver]Inexact character conversion during translation. SQL state S1000 in SQLExecDirect in D:wampwwwchaxunchaxun.php on line 79

请问应该怎么做?谢谢

解决方案

解决了,重装了csdk2.7。

糟糕!您回答不能提交,原因如下:
内容至少30个字符.

解决方案二:
中文你可以用urlencode()
最常用的是addslashes();//但这不是为了处理中文的
中文通常是可存的,不知你是怎么回事
你可把这个$sql输出来看一下

时间: 2024-12-08 06:49:12

php通过odbc用sql语句查询时无法查询中文,应该怎么转码?的相关文章

SQL语句实现子孙树查询经典实例

 下面介绍的SQL语句非常经典,该SQL语句实现子孙树查询,该SQL语句可以直接在查询分析器中执行,供您参考. --生成表   create table MENU(id int,mname char(50),parent int)     --插入数据   insert into MENU    select 1,'新闻',Null union all   select 2,'房产',Null union all   select 3,'科技新闻',1 union all   select 4,

oracle goldengate-mybatis 打印的Sql语句可以再数据库查询到数据,但是没有返回结果?【急】

问题描述 mybatis 打印的Sql语句可以再数据库查询到数据,但是没有返回结果?[急] <select id="selectPageTblSfFiles" parameterType="TblSfFile" resultMap="TblSfFileResult"> SELECT <include refid="TblSfFile_columns" /> FROM TBL_SF_FILE WHERE

使用一条sql语句实现多表查询

问题描述 使用一条sql语句实现多表查询 假设有这样3张表: 学生表S (id,Tid,name,sex,age) 教师表T (id,Sid,name,sex,age) 成绩表R (id(学生的id),result(成绩)) 怎样使用一条sql查询成绩大于90的男学生的男性老师的姓名 解决方案 select * from R inner join S on R.id=S.Sid inner join T on xxxxxx where result>90 你学生和老师好像没有对应关系,所以第二个

sql-如何用SQL语句通过1去查询N?

问题描述 如何用SQL语句通过1去查询N? 解决方案 只需要通过1的ID查询N的记录就好了! 解决方案二: sql 语句的执行顺序(1)逻辑查询的各个阶段SQL中的n+1次select语句查询问题SQL中的n+1次select语句查询问题 解决方案三: 这个不就是普通的两张表自动关联而已嘛?通关关联两张表,把结果集放到java的容器里面,每条数据就代表的这种关系了啊,至于要展示成这样,就要看你报表怎么画了啊,ORACLE每条数据呈现的都是这两个表的一种对应关系,比如说1 研发部 1 刘备1 研发

求一条sql语句,单表查询的

问题描述 求一条sql语句,单表查询的 表结构 (姓名,课程,成绩) 现在求获的该表总成绩最高学员的名字 解决方案 mysql 数据库select sum(成绩) as t from table group by 姓名 order by t limit 0,1 oracle数据库 select * from (select sum(成绩) as t from table group by 姓名 order by t) WHERE ROWNUM<=1 sqlserver数据库 select top

access数据库-ADO操作Access 的SQL 语句怎么用Access 查询设计的SQL 视图改造一下就能使用

问题描述 ADO操作Access 的SQL 语句怎么用Access 查询设计的SQL 视图改造一下就能使用 ADO操作Access 的SQL 语句怎么用Access 查询设计的SQL 视图改造一下就能使用. 解决方案 Access的试图只能内部VBA使用,你得把完整得SQL复制到程序中,作为ADO的Open()或Execute()方法的参数调用.

用非动态SQL Server SQL语句来对动态查询进行执行

此文章主要向大家讲述的是非动态SQL ServerSQL语句执行动态查询,在实际操作中我尝试在一个存储过程中,来进行传递一系列以逗号划定界限的值,来对结果集进行限制.但是无论什么时候,我在IN子句中使用变量,都会得到错误信息. 是否存在一种不执行动态SQL语句也能完成查询的方式呢? 我尝试在一个存储过程中传递一系列以逗号划定界限的值,以限制结果集.但是无论什么时候,我在IN子句中使用变量,都会得到错误信息.是否存在一种不执行动态SQL ServerSQL语句也能完成查询的方式呢? 专家解答: 这

在ASP中使用SQL语句之6:存储查询

语句 当你的查询相对简单的时候,每次从头开始创建SQL语句也不费什么工夫,不过,复杂的查询就不同了,每次都从头来会产生很多开发错误.因此,一旦让SQL顺利地运行起来,你最好把它们存起来,在需要时再调用它们.这样,哪怕是一个简单查询你都能随时用上存储的查询语句了. 假设你每周都要给团队做一次报告,指出目前存在的业务支持问题,这些数据需要从你的数据库中选取,而且要按照日期选择记录,同时根据你所在团队所采用的支持问题的类别排序.一旦你设计了这一查询,你何必以后每周都重新编写一次呢?不要在你的HTML页

LINQ to SQL语句(23)之动态查询

动态查询 有这样一个场景:应用程序可能会提供一个用户界面,用 户可以使用该用户界面指定一个或多个谓词来筛选数据.这种情况在编译时不知 道查询的细节,动态查询将十分有用. 在LINQ中,Lambda表达式是许多 标准查询运算符的基础,编译器创建lambda表达式以捕获基础查询方法(例如 Where.Select.Order By.Take While 以及其他方法)中定义的计算.表达式 目录树用于针对数据源的结构化查询,这些数据源实现IQueryable<T>. 例如,LINQ to SQL 提