2010年7月10日星期六

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

1.03的,好奇怪,我先看看这个日文的,可能是我的代码写得太乱了。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

你的 Net::OpenID::Consumer 什么版本,我的 1`.03 没有出现这个 bad mode 的错误


虽是日语,但是不影响代码阅读 :-)

2010/7/10 imxae <imx365ster@gmail.com>
找到个php写的google openid登录的资料,perl写的找不到,发个链接给有兴趣的参考一下,

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] [提示] 今天下午北京 PerlChina 聚会


讲演很精彩,感谢agentzh和Joe。

另外,Joe可以发一下slides么?

Best regards
Zhang JiaQiang



2010/7/10 Qiang (James) <shijialee@gmail.com>
Hi,

# 时间:本周六(10号)下午 2:00
# 地点:五道口文津国际酒店西20米,成府路57号 蚂蚁咖啡红 (还是以前聚会的地方)
# 费用: 每人 20 元(用于场地使用,提供茶水)
# 我的电话;158.1088.0868
# 演讲主题:

agentzh - pack/unpack 实现简单的 TCP 协议的客户端
       - 聊一下使用 Perl 做测试
        (40分钟)
joe     - DBI 灵活使用,用来导出数据的案例。(20分钟)

下午见!

Qiang(James)

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

找到个php写的google openid登录的资料,perl写的找不到,发个链接给有兴趣的参考一下,

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

原代码在附件中,我在本机的hosts的文件设置,127.0.0.1 wwww.imx.net
 
使用模块:
use LWPx::ParanoidAgent;
use Net::OpenID::Consumer;
use CGI;
参考资料:

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

代码?

2010/7/10 imxae <imx365ster@gmail.com>
当时使用时根本没有提示说net:ssl缺少,调试时总找不到问题
现在出现如下提示,不知道为什么返回是bad_mode, 不知道是否能提点一下:
 
[DEBUG Net::OpenID::Consumer] Cache MISS for https://www.google.com/accounts/o8/id
[DEBUG Net::OpenID::Consumer] Discovered version 2 endpoint at https://www.google.com/accounts/o8/ud via Yadis
[DEBUG Net::OpenID::Consumer] Delegate is http://specs.openid.net/auth/2.0/identifier_select
[DEBUG Net::OpenID::Consumer] server_assoc: dumb mode: no_cache
[DEBUG Net::OpenID::Consumer] check_url for (del=http://specs.openid.net/auth/2.0/identifier_select, id=http://specs.openid.net/auth/2.0/identifier_select) = https://www.google.com/accounts/o8/ud?openid.ns=http://specs.openid.net/auth/2.0&openid.return_to=http://www.imx.net/openid_response.pl%3Foic.time%3D1278731587-f9295ec24bf0b018b305&opespecsnid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&openid.identity=http://specs.openid.net/auth/2.0/identifier_select&openid.mode=checkid_immediate&openid.realm=http://www.imx.net/
[DEBUG Net::OpenID::Consumer] fail(bad_mode) The openid.mode argument is not correct

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2010年7月9日星期五

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

当时使用时根本没有提示说net:ssl缺少,调试时总找不到问题
现在出现如下提示,不知道为什么返回是bad_mode, 不知道是否能提点一下:
 
[DEBUG Net::OpenID::Consumer] Cache MISS for https://www.google.com/accounts/o8/id
[DEBUG Net::OpenID::Consumer] Discovered version 2 endpoint at https://www.google.com/accounts/o8/ud via Yadis
[DEBUG Net::OpenID::Consumer] Delegate is http://specs.openid.net/auth/2.0/identifier_select
[DEBUG Net::OpenID::Consumer] server_assoc: dumb mode: no_cache
[DEBUG Net::OpenID::Consumer] check_url for (del=http://specs.openid.net/auth/2.0/identifier_select, id=http://specs.openid.net/auth/2.0/identifier_select) = https://www.google.com/accounts/o8/ud?openid.ns=http://specs.openid.net/auth/2.0&openid.return_to=http://www.imx.net/openid_response.pl%3Foic.time%3D1278731587-f9295ec24bf0b018b305&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&openid.identity=http://specs.openid.net/auth/2.0/identifier_select&openid.mode=checkid_immediate&openid.realm=http://www.imx.net/
[DEBUG Net::OpenID::Consumer] fail(bad_mode) The openid.mode argument is not correct

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] [提示] 今天下午北京 PerlChina 聚会

Hi,

# 时间:本周六(10号)下午 2:00
# 地点:五道口文津国际酒店西20米,成府路57号 蚂蚁咖啡红 (还是以前聚会的地方)
# 费用: 每人 20 元(用于场地使用,提供茶水)
# 我的电话;158.1088.0868
# 演讲主题:

agentzh - pack/unpack 实现简单的 TCP 协议的客户端
- 聊一下使用 Perl 做测试
(40分钟)
joe - DBI 灵活使用,用来导出数据的案例。(20分钟)

下午见!

Qiang(James)

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

imxae wrote:
> 谢谢cnhack TNT的指导,装上了Net::SSL,能向google openid 发送请求了,编译
> 时出下如下note "No library found for -lgcc" 会不会影响使用?

(probably harmless): No library found for -lgcc
^^^^^^^^^^^^^^^^^
上面的英文大概意思是 "估计没问题"....

Qiang(James)

>
> BUILD INFORMATION
> ================================================
> ssl library: OpenSSL 0.9.8 in /usr
> ssl header: openssl/ssl.h
> libraries: -L/usr/lib -lssl -lcrypto -lgcc
> include dir: -I/usr/include/openssl
> ================================================
> Checking if your kit is complete...
> Looks good
> Note (probably harmless): No library found for -lgcc
> Writing Makefile for Crypt::SSLeay
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN
> 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

谢谢cnhack TNT的指导,装上了Net::SSL,能向google openid 发送请求了,编译时出下如下note "No library found for -lgcc" 会不会影响使用?
 
BUILD INFORMATION
================================================
ssl library: OpenSSL 0.9.8 in /usr
ssl header:  openssl/ssl.h
libraries:   -L/usr/lib -lssl -lcrypto -lgcc
include dir: -I/usr/include/openssl
================================================
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -lgcc
Writing Makefile for Crypt::SSLeay

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] Re: 默认的订阅方式太 了

thunderbid3.0.5里面是view---threads----Threads with unread.

今天整理邮件,发现了这封老邮件,于是挖下坟 :-)

On 2008/12/29 22:26, yong wrote:
> 在view菜单里面好像有个选项叫view by thread,
>
> 手头没有Thunderbird,不知道是不是叫这个名字。
>
> On Dec 28, 10:35 pm, "Jeff Peng"<jeffp...@gmx.net> wrote:
>
>> -------- Original-Nachricht --------
>>
>>
>>> Datum: Sun, 28 Dec 2008 22:13:39 +0800
>>> Von: march....@gmail.com
>>> An: perlchina@googlegroups.com
>>> Betreff: [PerlChina] Re: 默认的订阅方式太吵了
>>> thunderbird
>>>
>>
>>> 在 08-12-28,Felix New<mox...@gmail.com> 写道:
>>>
>>>> 这种线索阅读方式非常好。
>>>> 另外,大家是否知道有哪种windows下的mail
>>>>
>>> client支持这种线索方式的阅读?
>>>
>> Thunderbird支持线程方式阅读吗?我一直用TB,好像没发现这个功能。
>> --
>> Sensationsangebot verlängert: GMX FreeDSL - Telefonanschluss + DSL
>> für nur 16,37 Euro/mtl.!*http://dsl.gmx.de/?ac=OM.AD.PD003K1308T4569a
>>
> --~--~---------~--~----~------------~-------~--~----~
> 您收到此信息是由于您订阅了 Google 论坛"PerlChina 论坛"论坛。
> 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
> 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
> 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
> -~----------~----~----~----~------~----~------~--~---
>
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

你得先装上 Net::SSL 模块 :-P


2010/7/9 imxae <imx365ster@gmail.com>
谢谢,这个教程我也看过了,好像对google的openid 无用,我怎么测试都没有用
 
use LWPx::ParanoidAgent;
use Net::OpenID::Consumer;
use CGI;
 
my $cgi = new CGI;
my $csr = Net::OpenID::Consumer->new( 
        ua               => LWPx::ParanoidAgent->new, 
        consumer_secret   => time, 
        args              => $cgi,
        debug              => 1,
        required_root => "http://www.test.net/",
     );  
 
my $claimed_identity = $csr->claimed_identity(https://www.google.com/accounts/o8/id);
 
#  my $check_url = $claimed_identity->check_url(
#    return_to  => "http://example.com/openid-check.app?yourarg=val",
#    trust_root => "http://example.com/",
#  );
 
# Print header
$m->printHttpHeader();
#    print $check_url, "\n";
 
 
作者回答如下:
 
Google's OpenID system has an extra layer of opaqueness which the
simplistic program below doesn't deal with. You'll have to debug this
yourself.
Best wishes,
Ben Bullock

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2010年7月8日星期四

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

谢谢,这个教程我也看过了,好像对google的openid 无用,我怎么测试都没有用
 
use LWPx::ParanoidAgent;
use Net::OpenID::Consumer;
use CGI;
 
my $cgi = new CGI;
my $csr = Net::OpenID::Consumer->new( 
        ua               => LWPx::ParanoidAgent->new, 
        consumer_secret   => time, 
        args              => $cgi,
        debug              => 1,
        required_root => "http://www.test.net/",
     );  
 
my $claimed_identity = $csr->claimed_identity(https://www.google.com/accounts/o8/id);
 
#  my $check_url = $claimed_identity->check_url(
#    return_to  => "http://example.com/openid-check.app?yourarg=val",
#    trust_root => "http://example.com/",
#  );
 
# Print header
$m->printHttpHeader();
#    print $check_url, "\n";
 
 
作者回答如下:
 
Google's OpenID system has an extra layer of opaqueness which the
simplistic program below doesn't deal with. You'll have to debug this
yourself.
Best wishes,
Ben Bullock

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 谁会使用perl写openid登录的例子啊?

蓝天下云层上 wrote:
> 在网上看到个 Net-Google-FederatedLogin ,可是不知道怎么使用,谁可以做个例子啊?
>

试一下 Net::OpenID::Consumer,Perl 里实现 openid 常用的模块。这里有个教
程。 http://www.lemoda.net/perl/openid/net-openid.html

教程的例子不是 google 的,但你看下 google openid 文档应该可以很容易的替
换了。

Qiang(James)

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何能保证生成的文件是utf8编码

猜测你另存的文件头部有 BOM ,就是几个特殊字节,windows 用来表示 utf 编码的,不是数据的一部分,linux 会被这几个字节弄糊涂。


在 2010年7月7日 下午7:57,xuanshi <xuanbonn@googlemail.com> 写道:
> 大家好,
>
> 我需要使用一个软件,这个软件只接受utf8编码的文本文件。 如果选择另存为,把原本的文本文件存成utf8,结果并不理想,有些时候结果还是不能被
> 软件接受。这个文本文件,是通过perl程序运行出来的, 在英文的linux下,有时候不能正确显示。
> 因此,我想请问下,有没有用perl 程序运行出来的文件,可以直接选择编码为utf8?这样,这个软件也可以用,linux下也可以看。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2010年7月7日星期三

[PerlChina] 谁会使用perl写openid登录的例子啊?

在网上看到个 Net-Google-FederatedLogin ,可是不知道怎么使用,谁可以做个例子啊?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个Encode的问题

恩, 问题解决了, 谢谢!

在 2010年7月8日 上午10:39,azure wang <azure1st@gmail.com> 写道:
> print encode('gb2312', $str), "\n";
>
> 在 2010年7月8日 上午10:36,hfahe <hfahe@163.com>写道:
>>
>> print encode("utf8", $str);
>> => aaa你好bbb
>>
>>
>>
>> >#!/usr/bin/perl
>> >
>> >use Encode qw/encode decode/;
>> >
>> >my $str = "aaa\x{4f60}\x{597d}bbb"; #这大概是个合法的utf8字符串吧?
>> >print $str, "\n";
>> >
>> >print encode('gb2312', decode('utf-8', $str)), "\n";
>> >
>> >D:\>perl decode.pl
>> >Wide character in print at decode.pl line 6.
>> >aaa浣�ソbbb
>>
>> > >Cannot decode string with wide characters at C:/strawberry/perl/lib/Encode.pm li
>> >ne 174.
>> >
>> >
>> >这是怎么回事呢?
>> >
>> >--
>> >您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> >要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> >要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> >若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>> >
>>
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>
>
> --
> Azure.Wang
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个Encode的问题

print encode('gb2312', $str), "\n";

在 2010年7月8日 上午10:36,hfahe <hfahe@163.com>写道:
print encode("utf8", $str);

=> aaa你好bbb



>#!/usr/bin/perl > >use Encode qw/encode decode/; > >my $str = "aaa\x{4f60}\x{597d}bbb";  #这大概是个合法的utf8字符串吧? >print $str, "\n"; > >print encode('gb2312', decode('utf-8', $str)), "\n"; > >D:\>perl decode.pl >Wide character in print at decode.pl line 6. >aaa浣�ソbbb >Cannot decode string with wide characters at C:/strawberry/perl/lib/Encode.pm li >ne 174. > > >这是怎么回事呢? > >--  >您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 >要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。 >若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >


--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re:[PerlChina] 请教一个Encode的问题

print encode("utf8", $str);

=> aaa你好bbb


>#!/usr/bin/perl > >use Encode qw/encode decode/; > >my $str = "aaa\x{4f60}\x{597d}bbb";  #这大概是个合法的utf8字符串吧? >print $str, "\n"; > >print encode('gb2312', decode('utf-8', $str)), "\n"; > >D:\>perl decode.pl >Wide character in print at decode.pl line 6. >aaa浣�ソbbb >Cannot decode string with wide characters at C:/strawberry/perl/lib/Encode.pm li >ne 174. > > >这是怎么回事呢? > >--  >您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。 >要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。 >若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个Encode的问题

不用decode 直接encode
my $str = "aaa\x{4f60}\x{597d}bbb";
这个是unicode 不是utf8  不需要decode 已经是decode后的编码了。

在 2010年7月8日 上午10:27,Zhang Jun <gb2313@gmail.com>写道:
#!/usr/bin/perl

use Encode qw/encode decode/;

my $str = "aaa\x{4f60}\x{597d}bbb";  #这大概是个合法的utf8字符串吧?
print $str, "\n";

print encode('gb2312', decode('utf-8', $str)), "\n";

D:\>perl decode.pl
Wide character in print at decode.pl line 6.
aaa浣�ソbbb
Cannot decode string with wide characters at C:/strawberry/perl/lib/Encode.pm li
ne 174.


这是怎么回事呢?

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 请教一个Encode的问题

#!/usr/bin/perl

use Encode qw/encode decode/;

my $str = "aaa\x{4f60}\x{597d}bbb"; #这大概是个合法的utf8字符串吧?
print $str, "\n";

print encode('gb2312', decode('utf-8', $str)), "\n";

D:\>perl decode.pl
Wide character in print at decode.pl line 6.
aaa浣�ソbbb
Cannot decode string with wide characters at C:/strawberry/perl/lib/Encode.pm li
ne 174.


这是怎么回事呢?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个HTML字符截断的问题

HTML::Selector::XPath

用类似CSS选择器的方式选取内容  很不错

和jquery的选择器基本一样。用着很舒服。



在 2010年7月8日 上午5:29,Beckheng Lam <bi.ken.lam@gmail.com>写道:
HTML::Truncate 模块看来能完成此事。

杨溪 写道:
> 这个用类似HTML::DOM这样的模块把要显示的节点抓出来,再还原成html。可以
> 满足要求不?
>
> 2010/7/7 Beckheng Lam <bi.ken.lam@gmail.com <mailto:bi.ken.lam@gmail.com>>
>
>     一段内容,是HTML格式数据。想在页面显示的时候,只显示前面部分。但是
>     HTML的
>     内容截断后,会有可能产生HTML标签不对称。PERL有无对应的模块可以自动
>     补上相
>     应缺失的HTML标签?或是有其它较好的做法可以显示HTML内容的前一段内容的?
>
>
--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
诸法从缘起,如来说是因。
彼法因缘尽,是大沙门说。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个HTML字符截断的问题

HTML::Truncate 模块看来能完成此事。

杨溪 写道:
> 这个用类似HTML::DOM这样的模块把要显示的节点抓出来,再还原成html。可以
> 满足要求不?
>
> 2010/7/7 Beckheng Lam <bi.ken.lam@gmail.com <mailto:bi.ken.lam@gmail.com>>
>
> 一段内容,是HTML格式数据。想在页面显示的时候,只显示前面部分。但是
> HTML的
> 内容截断后,会有可能产生HTML标签不对称。PERL有无对应的模块可以自动
> 补上相
> 应缺失的HTML标签?或是有其它较好的做法可以显示HTML内容的前一段内容的?
>
>
--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
诸法从缘起,如来说是因。
彼法因缘尽,是大沙门说。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何能保证生成的文件是utf8编码

> xuanshi wrote:
>> 大家好,
>>
>> 我需要使用一个软件,这个软件只接受utf8编码的文本文件。 如果选择另存为,把原本的文本文件存成utf8,结果并不理想,有些时候结果还是不能被
>> 软件接受。这个文本文件,是通过perl程序运行出来的, 在英文的linux下,有时候不能正确显示。
>> 因此,我想请问下,有没有用perl 程序运行出来的文件,可以直接选择编码为utf8?这样,这个软件也可以用,linux下也可以看。
>>
>

也可以使用open,比如:

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

这样新打开的filehandle以及STDIN, STDOUT, STDERR就都改成UTF-8模式了,详见perldoc open。
(不过有一些像@ARGV, %ENV的变量还需要手动decode)

--
gyx

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何能保证生成的文件是utf8编码

xuanshi wrote:
> 大家好,
>
> 我需要使用一个软件,这个软件只接受utf8编码的文本文件。 如果选择另存为,把原本的文本文件存成utf8,结果并不理想,有些时候结果还是不能被
> 软件接受。这个文本文件,是通过perl程序运行出来的, 在英文的linux下,有时候不能正确显示。
> 因此,我想请问下,有没有用perl 程序运行出来的文件,可以直接选择编码为utf8?这样,这个软件也可以用,linux下也可以看。
>

使用Perl 自带的 Encode 模块即可,确定你输出时把内容 encode 成 utf8.
具体操作你可以看看Perl unicode 教程 http://perldoc.perl.org/perlunitut.html

Qiang(James)

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个HTML字符截断的问题

恩,这个我要试下。

杨溪 写道:
> 这个用类似HTML::DOM这样的模块把要显示的节点抓出来,再还原成html。可以
> 满足要求不?
>
> 2010/7/7 Beckheng Lam <bi.ken.lam@gmail.com <mailto:bi.ken.lam@gmail.com>>
>
> 一段内容,是HTML格式数据。想在页面显示的时候,只显示前面部分。但是
> HTML的
> 内容截断后,会有可能产生HTML标签不对称。PERL有无对应的模块可以自动
> 补上相
> 应缺失的HTML标签?或是有其它较好的做法可以显示HTML内容的前一段内容的?
>
> --
> Perl乐事 -- http://www.perlersh.org
> 我的博客 -- http://www.perlersh.org/blog.html
> 诸法从缘起,如来说是因。
> 彼法因缘尽,是大沙门说。
>
>
>

--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
诸法从缘起,如来说是因。
彼法因缘尽,是大沙门说。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个HTML字符截断的问题

这个用类似HTML::DOM这样的模块把要显示的节点抓出来,再还原成html。可以满足要求不?

2010/7/7 Beckheng Lam <bi.ken.lam@gmail.com>
一段内容,是HTML格式数据。想在页面显示的时候,只显示前面部分。但是HTML的
内容截断后,会有可能产生HTML标签不对称。PERL有无对应的模块可以自动补上相
应缺失的HTML标签?或是有其它较好的做法可以显示HTML内容的前一段内容的?

--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
诸法从缘起,如来说是因。
彼法因缘尽,是大沙门说。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 请教一个HTML字符截断的问题

一段内容,是HTML格式数据。想在页面显示的时候,只显示前面部分。但是HTML的
内容截断后,会有可能产生HTML标签不对称。PERL有无对应的模块可以自动补上相
应缺失的HTML标签?或是有其它较好的做法可以显示HTML内容的前一段内容的?

--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
诸法从缘起,如来说是因。
彼法因缘尽,是大沙门说。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 如何能保证生成的文件是utf8编码

大家好,

我需要使用一个软件,这个软件只接受utf8编码的文本文件。 如果选择另存为,把原本的文本文件存成utf8,结果并不理想,有些时候结果还是不能被
软件接受。这个文本文件,是通过perl程序运行出来的, 在英文的linux下,有时候不能正确显示。
因此,我想请问下,有没有用perl 程序运行出来的文件,可以直接选择编码为utf8?这样,这个软件也可以用,linux下也可以看。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 关于 captcha 的工作流程

Hi,

刚看了这个:
http://search.cpan.org/~agent/OpenResty-0.5.12/lib/OpenResty/Spec/Captcha_cn.pod

这个验证机制怎么搞这么复杂。。。

我设想的是这样的:

1. 浏览器生成一个随机字符串 s1 (用于区分内网里多个用户),发送
给服务器,服务器随机生成一个字符串 s2,保存 s1 + IP、s2、当前时间
到文件,同时把图片返回给浏览器。

2. 用户填写一个字符串 s3,跟随 s1 再次发送给服务器,服务器检索文件,
找 s1 + IP、s3 的记录,找得到而且时间戳跟当前时间相差不超过 t 分钟
则认为通过,生成 session id 发送给客户端。

我没看明白 Captcha_cn.pod 里提到的 UUID 是干嘛的,貌似它是先生成
captcha id(服务器生成的 UUID),再利用这个 id 去请求一个 captcha image。
那个两小时缓存是干嘛的? 为了重复利用同一个 captcha image?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2010年7月6日星期二

Re: [PerlChina] dbi 连 mysql 的问题

感谢大家。找到问题了,很猪头的问题。。。

用这段代码打印了下,就发现 database 是 latin1 的。之前一直看的是 mysql cli 里面的是 utf8 的。
然后悲剧的发现,perl 里面连的错误的 database 。。。。。。。。恰好里面都有一个这个表。。。

那个库里面的这个表的我需要的这个字段是 latin1 的,我刚才没发现问题前还试了别的字段,结果发现有的字段能用中文,有的不能,还在纳闷儿。。。这个库里面的这个表的字段有些是 utf8 的,有些是 latin1 的。。。日

再次感谢大家。。。

在 2010年7月7日 上午11:56,azure wang <azure1st@gmail.com>写道:
use DBI;
my $dbh = DBI->connect("dbi:mysql:test:localhost:3306", "root", "123456",

                            {RaiseError => 1,
                             mysql_enable_utf8 => 1,
                             mysql_auto_reconnect => 1} );
$pstmt = $dbh->prepare("show variables like '%character_set%'");
$pstmt->execute();
while(my $row = $pstmt->fetchrow_arrayref){
    printf "%s,%s\n",$row->[0],$row->[1];
}


character_set_client,utf8
character_set_connection,utf8
character_set_database,utf8
character_set_filesystem,binary
character_set_results,utf8
character_set_server,utf8
character_set_system,utf8
character_sets_dir,E:\MySQL\share\charsets\

你看看你当前字符集的环境变量是什么。


在 2010年7月7日 上午11:49,azure wang <azure1st@gmail.com>写道:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  是等号两边的字符集不一样   显然等号左边就是字段的字符集是latin1_swedish_ci, 而有变输入的字符串是utf8_general_ci  问题应该在你的表。

你把整个表结构导出SQL 然后发出来看看。

在 2010年7月7日 上午11:26,Kaiwang Chen <kaiwang.chen@gmail.com>写道:

字段上没设置,default  就按是表的设置吧。你那 where = '中文' 是怎么输进去的?

在 2010年7月7日 上午11:19,wd <wd@wdicc.com> 写道:
> 字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。
>
> 在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
>>
>> 把show create table xxx 看看
>>
>> MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。
>>
>>
>> 在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
>>>
>>> 使用 dbi DBD::mysql 连 mysql,
>>>
>>>     my $dbh = DBI->connect($dsn, $user, $password,
>>>                             {RaiseError => 1,
>>>                              mysql_enable_utf8 => 1,
>>>                              mysql_auto_reconnect => 1} );
>>>
>>> 已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,
>>>
>>> DBD::mysql::db selectall_arrayref failed: Illegal mix of collations
>>> (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
>>> '=' at ./e.pl line 128.
>>>
>>> 尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。
>>>
>>> table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8
>>>
>>> 把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>>
>> --
>> Azure.Wang
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
Azure.Wang



--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] dbi 连 mysql 的问题

use DBI;
my $dbh = DBI->connect("dbi:mysql:test:localhost:3306", "root", "123456",
                            {RaiseError => 1,
                             mysql_enable_utf8 => 1,
                             mysql_auto_reconnect => 1} );
$pstmt = $dbh->prepare("show variables like '%character_set%'");
$pstmt->execute();
while(my $row = $pstmt->fetchrow_arrayref){
    printf "%s,%s\n",$row->[0],$row->[1];
}


character_set_client,utf8
character_set_connection,utf8
character_set_database,utf8
character_set_filesystem,binary
character_set_results,utf8
character_set_server,utf8
character_set_system,utf8
character_sets_dir,E:\MySQL\share\charsets\

你看看你当前字符集的环境变量是什么。


在 2010年7月7日 上午11:49,azure wang <azure1st@gmail.com>写道:
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  是等号两边的字符集不一样   显然等号左边就是字段的字符集是latin1_swedish_ci, 而有变输入的字符串是utf8_general_ci  问题应该在你的表。

你把整个表结构导出SQL 然后发出来看看。

在 2010年7月7日 上午11:26,Kaiwang Chen <kaiwang.chen@gmail.com>写道:

字段上没设置,default  就按是表的设置吧。你那 where = '中文' 是怎么输进去的?

在 2010年7月7日 上午11:19,wd <wd@wdicc.com> 写道:
> 字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。
>
> 在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
>>
>> 把show create table xxx 看看
>>
>> MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。
>>
>>
>> 在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
>>>
>>> 使用 dbi DBD::mysql 连 mysql,
>>>
>>>     my $dbh = DBI->connect($dsn, $user, $password,
>>>                             {RaiseError => 1,
>>>                              mysql_enable_utf8 => 1,
>>>                              mysql_auto_reconnect => 1} );
>>>
>>> 已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,
>>>
>>> DBD::mysql::db selectall_arrayref failed: Illegal mix of collations
>>> (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
>>> '=' at ./e.pl line 128.
>>>
>>> 尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。
>>>
>>> table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8
>>>
>>> 把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>>
>> --
>> Azure.Wang
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
Azure.Wang



--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] dbi 连 mysql 的问题

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  是等号两边的字符集不一样   显然等号左边就是字段的字符集是latin1_swedish_ci, 而有变输入的字符串是utf8_general_ci  问题应该在你的表。

你把整个表结构导出SQL 然后发出来看看。

在 2010年7月7日 上午11:26,Kaiwang Chen <kaiwang.chen@gmail.com>写道:
字段上没设置,default  就按是表的设置吧。你那 where = '中文' 是怎么输进去的?

在 2010年7月7日 上午11:19,wd <wd@wdicc.com> 写道:
> 字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。
>
> 在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
>>
>> 把show create table xxx 看看
>>
>> MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。
>>
>>
>> 在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
>>>
>>> 使用 dbi DBD::mysql 连 mysql,
>>>
>>>     my $dbh = DBI->connect($dsn, $user, $password,
>>>                             {RaiseError => 1,
>>>                              mysql_enable_utf8 => 1,
>>>                              mysql_auto_reconnect => 1} );
>>>
>>> 已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,
>>>
>>> DBD::mysql::db selectall_arrayref failed: Illegal mix of collations
>>> (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
>>> '=' at ./e.pl line 128.
>>>
>>> 尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。
>>>
>>> table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8
>>>
>>> 把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>>
>> --
>> Azure.Wang
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] dbi 连 mysql 的问题

貌似文件是UTF8的,不要再用use utf8了吧?

wd 写道:
> use utf8 也不行。文件是 utf8 的
>
> 在 2010年7月7日 上午11:39,Kaiwang Chen <kaiwang.chen@gmail.com
> <mailto:kaiwang.chen@gmail.com>>写道:
>
> 硬编码的?use utf8 了吗?
>
> 在 2010年7月7日 上午11:34,wd <wd@wdicc.com <mailto:wd@wdicc.com>>
> 写道:
> >> show full columns from 表名;
> >
> > 我要比较的字段是 utf8_general_ci
> >
> >> 字段上没设置,default 就按是表的设置吧。你那 where = '中文' 
> 是怎么输进去的?
> >
> > where = '中文' 是拼sql 的时候写进去的
> > $sql = "select xxxxx from xxxxx where xxx='中文'"; 这样
> >
> > 尝试了使用 $dbh->prepare, $sth->execute('中文') 这样,也不行。
> >
> >
> >>
> >> 在 2010-07-07 11:19:25,wd <wd@wdicc.com <mailto:wd@wdicc.com>>
> 写道:
> >>
> >> 字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。
> >>
> >> 在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com
> <mailto:azure1st@gmail.com>>写道:
> >>>
> >>> 把show create table xxx 看看
> >>>
> >>> MySQL每个字段都可以设置字符集 看看每个字段的字符集是否正确。
> >>>
> >>>
> >>> 在 2010年7月7日 上午11:09,wd <wd@wdicc.com
> <mailto:wd@wdicc.com>>写道:
> >>>>
> >>>> 使用 dbi DBD::mysql 连 mysql,
> >>>>
> >>>> my $dbh = DBI->connect($dsn, $user, $password,
> >>>> {RaiseError => 1,
> >>>> mysql_enable_utf8 => 1,
> >>>> mysql_auto_reconnect => 1} );
> >>>>
> >>>> 已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文'
> 这样的语句就报错,
> >>>>
> >>>> DBD::mysql::db selectall_arrayref failed: Illegal mix of
> collations
> >>>> (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)
> for operation
> >>>> '=' at ./e.pl <http://e.pl> line 128.
> >>>>
> >>>> 尝试 $dbh->do('set names utf8') 没用,不过 set names latin1
> 就不报了,不过结果不对。。。
> >>>>
> >>>> table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8
> >>>>
> >>>> 把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么
> 弄?有人有经验没?
> >>>>
> >>>
> >>>
> >>> --
> >>> Azure.Wang
> >>>
> >
>
>
>


--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
诸法从缘起,如来说是因。
彼法因缘尽,是大沙门说。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: Re: [PerlChina] dbi 连 mysql 的问题

use utf8 也不行。文件是 utf8 的

在 2010年7月7日 上午11:39,Kaiwang Chen <kaiwang.chen@gmail.com>写道:
硬编码的?use utf8 了吗?

在 2010年7月7日 上午11:34,wd <wd@wdicc.com> 写道:
>> show full columns from 表名;
>
> 我要比较的字段是  utf8_general_ci
>
>> 字段上没设置,default  就按是表的设置吧。你那 where = '中文' 是怎么输进去的?
>
> where = '中文' 是拼sql 的时候写进去的
> $sql = "select xxxxx from xxxxx where xxx='中文'"; 这样
>
> 尝试了使用 $dbh->prepare, $sth->execute('中文') 这样,也不行。
>
>
>>
>> 在 2010-07-07 11:19:25,wd <wd@wdicc.com> 写道:
>>
>> 字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。
>>
>> 在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
>>>
>>> 把show create table xxx 看看
>>>
>>> MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。
>>>
>>>
>>> 在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
>>>>
>>>> 使用 dbi DBD::mysql 连 mysql,
>>>>
>>>>     my $dbh = DBI->connect($dsn, $user, $password,
>>>>                             {RaiseError => 1,
>>>>                              mysql_enable_utf8 => 1,
>>>>                              mysql_auto_reconnect => 1} );
>>>>
>>>> 已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,
>>>>
>>>> DBD::mysql::db selectall_arrayref failed: Illegal mix of collations
>>>> (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
>>>> '=' at ./e.pl line 128.
>>>>
>>>> 尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。
>>>>
>>>> table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8
>>>>
>>>> 把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?
>>>>
>>>> --
>>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>
>>>
>>>
>>> --
>>> Azure.Wang
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: Re: [PerlChina] dbi 连 mysql 的问题

硬编码的?use utf8 了吗?

在 2010年7月7日 上午11:34,wd <wd@wdicc.com> 写道:
>> show full columns from 表名;
>
> 我要比较的字段是 utf8_general_ci
>
>> 字段上没设置,default 就按是表的设置吧。你那 where = '中文' 是怎么输进去的?
>
> where = '中文' 是拼sql 的时候写进去的
> $sql = "select xxxxx from xxxxx where xxx='中文'"; 这样
>
> 尝试了使用 $dbh->prepare, $sth->execute('中文') 这样,也不行。
>
>
>>
>> 在 2010-07-07 11:19:25,wd <wd@wdicc.com> 写道:
>>
>> 字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。
>>
>> 在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
>>>
>>> 把show create table xxx 看看
>>>
>>> MySQL每个字段都可以设置字符集 看看每个字段的字符集是否正确。
>>>
>>>
>>> 在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
>>>>
>>>> 使用 dbi DBD::mysql 连 mysql,
>>>>
>>>> my $dbh = DBI->connect($dsn, $user, $password,
>>>> {RaiseError => 1,
>>>> mysql_enable_utf8 => 1,
>>>> mysql_auto_reconnect => 1} );
>>>>
>>>> 已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,
>>>>
>>>> DBD::mysql::db selectall_arrayref failed: Illegal mix of collations
>>>> (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
>>>> '=' at ./e.pl line 128.
>>>>
>>>> 尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。
>>>>
>>>> table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8
>>>>
>>>> 把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?
>>>>
>>>> --
>>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>
>>>
>>>
>>> --
>>> Azure.Wang
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: Re: [PerlChina] dbi 连 mysql 的问题

show full columns from 表名;

我要比较的字段是  utf8_general_ci

> 字段上没设置,default  就按是表的设置吧。你那 where = '中文' 是怎么输进去的?

where = '中文' 是拼sql 的时候写进去的
$sql = "select xxxxx from xxxxx where xxx='中文'"; 这样

尝试了使用 $dbh->prepare, $sth->execute('中文') 这样,也不行。

 

在 2010-07-07 11:19:25,wd <wd@wdicc.com> 写道:

字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。

在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
把show create table xxx 看看

MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。


在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
使用 dbi DBD::mysql 连 mysql,

    my $dbh = DBI->connect($dsn, $user, $password,
                            {RaiseError => 1,
                             mysql_enable_utf8 => 1,
                             mysql_auto_reconnect => 1} );

已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,

DBD::mysql::db selectall_arrayref failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at ./e.pl line 128.

尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。

table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8

把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] dbi 连 mysql 的问题

字段上没设置,default 就按是表的设置吧。你那 where = '中文' 是怎么输进去的?

在 2010年7月7日 上午11:19,wd <wd@wdicc.com> 写道:
> 字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。
>
> 在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
>>
>> 把show create table xxx 看看
>>
>> MySQL每个字段都可以设置字符集 看看每个字段的字符集是否正确。
>>
>>
>> 在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
>>>
>>> 使用 dbi DBD::mysql 连 mysql,
>>>
>>> my $dbh = DBI->connect($dsn, $user, $password,
>>> {RaiseError => 1,
>>> mysql_enable_utf8 => 1,
>>> mysql_auto_reconnect => 1} );
>>>
>>> 已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,
>>>
>>> DBD::mysql::db selectall_arrayref failed: Illegal mix of collations
>>> (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
>>> '=' at ./e.pl line 128.
>>>
>>> 尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。
>>>
>>> table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8
>>>
>>> 把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>>
>> --
>> Azure.Wang
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re:Re: [PerlChina] dbi 连 mysql 的问题

show full columns from 表名;

在 2010-07-07 11:19:25,wd <wd@wdicc.com> 写道:
字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。

在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
把show create table xxx 看看

MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。


在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
使用 dbi DBD::mysql 连 mysql,

    my $dbh = DBI->connect($dsn, $user, $password,
                            {RaiseError => 1,
                             mysql_enable_utf8 => 1,
                             mysql_auto_reconnect => 1} );

已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,

DBD::mysql::db selectall_arrayref failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at ./e.pl line 128.

尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。

table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8

把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] dbi 连 mysql 的问题

字段上面没看到有设置。只有表有。咋回事呢?奇怪。。。

在 2010年7月7日 上午11:11,azure wang <azure1st@gmail.com>写道:
把show create table xxx 看看

MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。


在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
使用 dbi DBD::mysql 连 mysql,

    my $dbh = DBI->connect($dsn, $user, $password,
                            {RaiseError => 1,
                             mysql_enable_utf8 => 1,
                             mysql_auto_reconnect => 1} );

已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,

DBD::mysql::db selectall_arrayref failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at ./e.pl line 128.

尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。

table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8

把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] dbi 连 mysql 的问题

把show create table xxx 看看

MySQL每个字段都可以设置字符集  看看每个字段的字符集是否正确。


在 2010年7月7日 上午11:09,wd <wd@wdicc.com>写道:
使用 dbi DBD::mysql 连 mysql,

    my $dbh = DBI->connect($dsn, $user, $password,
                            {RaiseError => 1,
                             mysql_enable_utf8 => 1,
                             mysql_auto_reconnect => 1} );

已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,

DBD::mysql::db selectall_arrayref failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at ./e.pl line 128.

尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。

table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8

把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
Azure.Wang

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] dbi 连 mysql 的问题

使用 dbi DBD::mysql 连 mysql,

    my $dbh = DBI->connect($dsn, $user, $password,
                            {RaiseError => 1,
                             mysql_enable_utf8 => 1,
                             mysql_auto_reconnect => 1} );

已经 enable 了 utf8,但是 sql 里面如果有 where xxx = '中文' 这样的语句就报错,

DBD::mysql::db selectall_arrayref failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at ./e.pl line 128.

尝试 $dbh->do('set names utf8') 没用,不过 set names latin1 就不报了,不过结果不对。。。

table 是 ENGINE=InnoDB DEFAULT CHARSET=utf8

把那个 sql 打印出来,然后在 mysql cli 执行就没问题。这怎么弄?有人有经验没?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] Re: 宣布本周六(7月10号) 北京 PerlChina 聚会

忘说了:

打算去的朋友可以在这个页面报个名
http://wiki.perlchina.org/BJPM-201007

Qiang(James)

Qiang (James) wrote:
> Hi,
>
> 投影仪搞定了, 谢谢 joe :)
>
> # 时间:本周六(10号)下午 2:00
> # 地点:五道口文津国际酒店西20米,成府路57号 蚂蚁咖啡红 (还是以前聚会的
> 地方)
> # 费用: 每人 20 元(用于场地使用,提供茶水)
> # 我的电话;158.1088.0868
> # 演讲主题:
>
> agentzh - pack/unpack 实现简单的 TCP 协议的客户端
> - 聊一下使用 Perl 做测试
> (40分钟)
> joe - DBI 灵活使用,用来导出数据的案例。(20分钟)
>
> 星期六见!
>
> Qiang(James)

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。