加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么Perl DBI转义从MySQL检索的值?

发布时间:2020-12-15 23:25:55 所属栏目:大数据 来源:网络整理
导读:我在 MySQL中有一个包含撇号(‘)和省略号(…)的值: $/bin/echo "select alias from url_alias where source = 'node/12024'" | mysql --skip-column-names -D cat36ia_d7prod 输出: forum/technical-discussion/nagging-questions-i’ve-been-too-embarr
我在 MySQL中有一个包含撇号(‘)和省略号(…)的值:

$/bin/echo "select alias from url_alias where source = 'node/12024'" | 
  mysql --skip-column-names -D cat36ia_d7prod

输出:

forum/technical-discussion/nagging-questions-i’ve-been-too-embarrassed-ask…

当我使用Perl DBI和DBD :: mysql检索值时,该值已更改:

$perl -MDBI -MDBD::mysql -e
      '$dbh=DBI->connect( "DBI:mysql:database=my_db",nick );
       $v=$dbh->selectrow_array(qq|select alias from url_alias where source = "'node/12024'"|);
       print "$vn";'

输出:

forum/technical-discussion/nagging-questions-i?ve-been-too-embarrassed-ask?

为什么Perl这样做?我可以覆盖它吗?

解决方法

>告诉Perl如何编码输出.

use open ':std',':encoding(UTF-8)';

>使用以数据的形式从数据库中获取数据

DBI->connect("DBI:mysql:database=my_db",$user,$pass,{
   mysql_enable_utf8 => 1,})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读