Query failed: ERROR: invalid byte sequence for encoding "UTF8"

时间:2022-09-06 11:46:11
//  代码执行到这里就有问题


$sql="insert into  search_env values($search_id,'$for_search','$file_type',$file_size,'$time','$dir','$recource','$extern','$usr_id',$usr_ftp_id) ";

echo"<br>$sql insert search_env<br>";
var_dump($sql);

execute($link,$sql);

//

Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xcbf9 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". in /home/virtualftp/zendteam/database_oper_func.php on line 54

是编码问题吗,那怎么其他sql语句又可以呢

3 个解决方案

#1


你的mysql版本?你插入的变量是否为UTF-8编码

#2


postgresql.

我将插入的字段中是中文的变成英文的,就可以了。但是在pgadmin中insert操作没问题,是否应该说postgresql和php结合得不太好

#3


就是你在建表的时候,在字段后面,追加设置为utf8。
Mysql要解决中文乱码,最好是你把数据库的默认编码都改掉,我一般这样处理:
在mysql安装目录下的my.ini文件中做如下修改:
[mysql]下面修改
default-character-set=utf8
[mysqld]下面修改
default-character-set=utf8
把编码统一成utf8,这样做的目的在于,即可以允许你往数据中插入中文字符,又可避免中文乱码的问题。

#1


你的mysql版本?你插入的变量是否为UTF-8编码

#2


postgresql.

我将插入的字段中是中文的变成英文的,就可以了。但是在pgadmin中insert操作没问题,是否应该说postgresql和php结合得不太好

#3


就是你在建表的时候,在字段后面,追加设置为utf8。
Mysql要解决中文乱码,最好是你把数据库的默认编码都改掉,我一般这样处理:
在mysql安装目录下的my.ini文件中做如下修改:
[mysql]下面修改
default-character-set=utf8
[mysqld]下面修改
default-character-set=utf8
把编码统一成utf8,这样做的目的在于,即可以允许你往数据中插入中文字符,又可避免中文乱码的问题。