I was searching for a clue and saw the post on the pg list :-) Got all excited thinking I had found a solution to point to you to! Then I realized, &quot;Hey! This looks REALLY similar...&quot;<br><br>Maybe a single run then a grep for non-ascii characters?<br>
<br><div class="gmail_quote">On Thu, Mar 31, 2011 at 4:11 PM, Geoffrey Myers <span dir="ltr">&lt;<a href="mailto:lists@serioustechnology.com">lists@serioustechnology.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">Jim Kinney wrote:<br>
&gt; The &quot;g&quot; _should_ do it. Quite puzzling.<br>
&gt; Can you do a run and find an example of when it fails? Is it always 0xbd?<br>
<br>
</div>The sad thing is, all it tells me is which table in the database has the<br>
error.  It does not identify the field.  I&#39;ve posted to the Postgres<br>
list to see if there&#39;s any way to narrow down the culprit, there is not.<br>
<br>
Once it fails, it stops loading that table, so I never get pass this error.<br>
<br>
When I first caught this error, I was simply trying to load an SQL_ASCII<br>
database dump into a UTF8 database.  That&#39;s when I wrote my <a href="http://cleandata.pl" target="_blank">cleandata.pl</a><br>
code.  The code cleans 62750 records.  I just don&#39;t understand why it<br>
doesn&#39;t fix this one.<br>
<div class="im"><br>
&gt; Maybe someone in Tibet doesn&#39;t like your code :-)  (It&#39;s a Tibetan<br>
&gt; character code in utf8)<br>
<br>
</div>But what is it in SQL_ASCII?  What happened is, some enterprising users<br>
figured out how to enter special characters from the keyboard, say, like<br>
a degrees symbol.  That goes in to the SQL_ASCII database fine, but when<br>
you try to load that into the UTF8 encoded database, it pukes.<br>
<div class="im"><br>
&gt;<br>
&gt; On Thu, Mar 31, 2011 at 2:59 PM, Geoffrey Myers<br>
</div><div class="im">&gt; &lt;<a href="mailto:lists@serioustechnology.com">lists@serioustechnology.com</a> &lt;mailto:<a href="mailto:lists@serioustechnology.com">lists@serioustechnology.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Jim Kinney wrote:<br>
&gt;      &gt; should it be replaced with nothing or with a NULL? Does the perl<br>
&gt;     pointer<br>
&gt;      &gt; jump to the next character automatically when a match is made thus<br>
&gt;      &gt; skipping a character in your replace? Does a double run fix it?<br>
&gt;<br>
&gt;     Missed the first question.  It should be removed, not replaced with an<br>
&gt;     null.  For example I have:<br>
&gt;<br>
&gt;     This is my &lt;UGLY CHARACTER&gt;data<br>
&gt;<br>
&gt;     Should then be:<br>
&gt;<br>
&gt;     This is my data<br>
&gt;<br>
&gt;      &gt;<br>
&gt;      &gt; On Thu, Mar 31, 2011 at 12:04 PM, Geoffrey Myers<br>
&gt;      &gt; &lt;<a href="mailto:lists@serioustechnology.com">lists@serioustechnology.com</a> &lt;mailto:<a href="mailto:lists@serioustechnology.com">lists@serioustechnology.com</a>&gt;<br>
</div>&gt;     &lt;mailto:<a href="mailto:lists@serioustechnology.com">lists@serioustechnology.com</a><br>
<div><div></div><div class="h5">&gt;     &lt;mailto:<a href="mailto:lists@serioustechnology.com">lists@serioustechnology.com</a>&gt;&gt;&gt; wrote:<br>
&gt;      &gt;<br>
&gt;      &gt;     So, we are trying to convert a number of postgresql databases<br>
&gt;     that were<br>
&gt;      &gt;     created with SQL_ASCII encoding to UTF8 encoding.  As such, I<br>
&gt;     need to<br>
&gt;      &gt;     strip certain characters out of the data before dumping and<br>
&gt;     reloading<br>
&gt;      &gt;     the new databases.  I&#39;m using the following:<br>
&gt;      &gt;<br>
&gt;      &gt;     data =~ s/(.)/((ord($1) &gt;= 0) &amp;&amp; (ord($1) &lt;= 8))<br>
&gt;      &gt;                     || (ord($1) == 11)<br>
&gt;      &gt;                     || ((ord($1) &gt;= 13) &amp;&amp; (ord($1) &lt;= 31))<br>
&gt;      &gt;                     || ((ord($1) &gt;= 127)) ?&quot;&quot;: $1/egs;<br>
&gt;      &gt;<br>
&gt;      &gt;     Yet I&#39;m getting the following error, which indicates a<br>
&gt;     character that<br>
&gt;      &gt;     should be handled by the above code is still in the data:<br>
&gt;      &gt;<br>
&gt;      &gt;     pg_restore: [archiver (db)] COPY failed: ERROR:  invalid byte<br>
&gt;     sequence<br>
&gt;      &gt;     for encoding &quot;UTF8&quot;: 0xbd<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt;     Certainly, the above code should replace the 0xbd with nothing?<br>
&gt;      &gt;<br>
&gt;      &gt;     Any perl/postgres gurus out there?<br>
&gt;      &gt;<br>
&gt;      &gt;     --<br>
&gt;      &gt;     Until later, Geoffrey<br>
&gt;      &gt;<br>
&gt;      &gt;     &quot;I predict future happiness for America if they can prevent<br>
&gt;      &gt;     the government from wasting the labors of the people under<br>
&gt;      &gt;     the pretense of taking care of them.&quot;<br>
&gt;      &gt;     - Thomas Jefferson<br>
&gt;      &gt;     _______________________________________________<br>
&gt;      &gt;     Ale mailing list<br>
</div></div>&gt;      &gt;     <a href="mailto:Ale@ale.org">Ale@ale.org</a> &lt;mailto:<a href="mailto:Ale@ale.org">Ale@ale.org</a>&gt; &lt;mailto:<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<div><div></div><div class="h5">&gt;     &lt;mailto:<a href="mailto:Ale@ale.org">Ale@ale.org</a>&gt;&gt;<br>
&gt;      &gt;     <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;      &gt;     See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;      &gt;     <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt; --<br>
&gt;      &gt; --<br>
&gt;      &gt; James P. Kinney III<br>
&gt;      &gt; I would rather stumble along in freedom than walk effortlessly in<br>
&gt;     chains.<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;      &gt;<br>
&gt;      &gt; _______________________________________________<br>
&gt;      &gt; Ale mailing list<br>
&gt;      &gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a> &lt;mailto:<a href="mailto:Ale@ale.org">Ale@ale.org</a>&gt;<br>
&gt;      &gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;      &gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;      &gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;<br>
&gt;<br>
&gt;     --<br>
&gt;     Until later, Geoffrey<br>
&gt;<br>
&gt;     &quot;I predict future happiness for America if they can prevent<br>
&gt;     the government from wasting the labors of the people under<br>
&gt;     the pretense of taking care of them.&quot;<br>
&gt;     - Thomas Jefferson<br>
&gt;     _______________________________________________<br>
&gt;     Ale mailing list<br>
&gt;     <a href="mailto:Ale@ale.org">Ale@ale.org</a> &lt;mailto:<a href="mailto:Ale@ale.org">Ale@ale.org</a>&gt;<br>
&gt;     <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;     See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;     <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; --<br>
&gt; James P. Kinney III<br>
&gt; I would rather stumble along in freedom than walk effortlessly in chains.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Ale mailing list<br>
&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
<br>
<br>
--<br>
Until later, Geoffrey<br>
<br>
&quot;I predict future happiness for America if they can prevent<br>
the government from wasting the labors of the people under<br>
the pretense of taking care of them.&quot;<br>
- Thomas Jefferson<br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>-- <br>James P. Kinney III<br>I would rather stumble along in freedom than walk effortlessly in chains.<br><br><br>