请问使用DBI模块插询中字符编码的问题

请问使用DBI模块插询中字符编码的问题

mysql中的数据库是用latin1编码的
在里面查询

$dat = "中文';
$sql = "SELECT a FROM table WHERE a = \'$dat\'";

运行时说Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci, COERCIBLE) for operation '='

如何把$dat转为latin1编码的
用encode么?
$dat = encode("iso-8859-1",$dat);?
好像没用
数据库用utf8编码
那报的这个错怎么解决呢
我查到了
$dat = "中文';
$sql = "SELECT a FROM table WHERE a = binary($dat)";
就行了

谢谢


QUOTE:
原帖由 guang920 于 2008-8-4 14:06 发表
我查到了
$dat = "中文';
$sql = "SELECT a FROM table WHERE a = binary($dat)";
就行了

谢谢



[Copy to clipboard] [ - ]
CODE:
$_compound_num=$idbh->selectcol_arrayref(
                        q{select /*+ ordered */ regno from inventory.moltable
                          where molname_ch like ?},
                        {}, $chem_name
                    );

这样的?我好像都是直接用的,前提是环境变量要设对。。