oops, first reply went to Madison alone ...<br><br>I think this is better ...<br><br>use Encode qw(from_to decode);<br><br>my $data = &quot;Résidence&quot;;<br>from_to($data, &quot;iso-8859-1&quot;, &quot;utf8&quot;); ## assuming Résidence is encoded in 8859-1<br>
or<br>my $data = decode(&quot;iso-8859-1&quot;, &quot;Résidence&quot;);<br><br>both of these will create a utf8 string from Résidence.&nbsp; However, depending on the original encoding of Résidence, what&#39;s stored in the database may or may not be what you want.<br>
<br>In other words, the lack of an error message is not indicative of it working.<br><br>-rob<br><br><div class="gmail_quote">On Tue, Jul 8, 2008 at 4:41 PM, Rob Janes &lt;<a href="mailto:janes.rob@gmail.com">janes.rob@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">methinks your perl script is encoded in iso-8859-1, or a windows code page.&nbsp; just cause you can see the accent doesn&#39;t mean it&#39;s right.&nbsp; set your editor to utf-8.&nbsp; or use character conversions.<br>
<br>use utf8;&nbsp; ## not sure about this, is pragma<br>
$blob = utf8::encode( &#39;Résidence&#39; )<br><br>or<br>use Encode;<br>$blob = encode(&quot;utf8&quot;, &#39;Résidence&#39; );<br><br>Encode doesn&#39;t make any statements about the encoding of your script, it might be the better way.<br>

<br>iconv is another possibility.<br><br>look at the man page for charnames.<br><br>use charnames &quot;:full&quot;;<br>print &quot;R\N{LATIN SMALL LETTER E WITH ACUTE}sidence\n&quot;;<br><font color="#888888"><br>-rob</font><div>
<div></div><div class="Wj3C7c"><br><br><div class="gmail_quote">
On Tue, Jul 8, 2008 at 3:29 PM, Madison Kelly &lt;<a href="mailto:linux@alteeve.com" target="_blank">linux@alteeve.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi all, second question of the day!<br>
<br>
 &nbsp;I&#39;ve got a problem INSERTing a value into my DB. It&#39;s a French character &#39;é&#39;, and my DB is set to UTF8, but the error is:<br>
<br>
INSERT INTO customer_data (cd_cust_id, cd_variable, cd_value, added_user, added_date, modified_user, modified_date) VALUES (1, &#39;CustServiceTypeDisplay_F&#39;, &#39;Résidence&#39;, 1, now(), 1, now());<br>
<br>
DBD::Pg::db do failed: ERROR: &nbsp;invalid byte sequence for encoding &quot;UTF8&quot;: 0xe97369<br>
HINT: &nbsp;This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by &quot;client_encoding&quot;.<br>
<br>
 &nbsp;When I manually run the INSERT, it works, so I know the problem is in perl somewhere. Now then, I setup my script with this:<br>
<br>
# Setup for UTF-8 mode.<br>
binmode STDOUT, &quot;:utf8:&quot;;<br>
$ENV{&#39;PERL_UNICODE&#39;}=1;<br>
<br>
 &nbsp;When I create my PgSQL connection, I use:<br>
<br>
$dbh=DBI-&gt;connect($db_connect_string, $$conf{db}{user}, $$conf{db}{pass},<br>
{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;RaiseError =&gt; 1,<br>
 &nbsp; &nbsp; &nbsp; &nbsp;AutoCommit =&gt; 1,<br>
 &nbsp; &nbsp; &nbsp; &nbsp;pg_enable_utf8 =&gt; 1<br>
}<br>
) or die ...;<br>
<br>
 &nbsp;I push a pile of queries into an array (referenced) and run them like this:<br>
<br>
# Sanity checks stripped for the email<br>
$dbh-&gt;begin_work;<br>
foreach my $query (@{$sql})<br>
{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;print &quot;Query: [$query]\n&quot;;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;$dbh-&gt;do($query) or $error.=$DBI::errstr.&quot;, &quot;;<br>
}<br>
$dbh-&gt;commit;<br>
<br>
 &nbsp;Lastly, my database itself is set to UTF8:<br>
<br>
SET client_encoding = &#39;UTF8&#39;;<br>
<br>
 &nbsp;I&#39;ve tried knocking out the &#39;pg_enable_utf8 =&gt; 1&#39; line in case I was dealing with double-encoding, but that didn&#39;t help.<br>
<br>
 &nbsp;Any tips/ideas?<br>
<br>
Thanks!<br>
<br>
Madi<br>
_______________________________________________<br>
toronto-pm mailing list<br>
<a href="mailto:toronto-pm@pm.org" target="_blank">toronto-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/toronto-pm" target="_blank">http://mail.pm.org/mailman/listinfo/toronto-pm</a><br>
</blockquote></div><br>
</div></div></blockquote></div><br>