Throw a warning rather than an error on invalid character from UTF8 to
authorBruce Momjian <bruce@momjian.us>
Sun, 12 Feb 2006 21:15:19 +0000 (21:15 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 12 Feb 2006 21:15:19 +0000 (21:15 +0000)
Latin1, like we do for other Latin encodings.

src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c

index f9208ee89a6c50e699497e6f5cc4c404861f37d6..30c15714af76de39bbfe83822ff229faf65c29b8 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c,v 1.13 2005/12/25 02:14:18 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c,v 1.14 2006/02/12 21:15:19 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -84,8 +84,10 @@ utf8_to_iso8859_1(PG_FUNCTION_ARGS)
                        len -= 2;
                }
                else if ((c & 0xe0) == 0xe0)
-                       elog(ERROR, "could not convert UTF8 character 0x%04x to ISO8859-1",
-                                c);
+                       ereport(WARNING,
+                                       (errcode(ERRCODE_UNTRANSLATABLE_CHARACTER),
+                                        errmsg("ignoring unconvertible UTF-8 character 0x%04x",
+                                                       c)));
                else
                {
                        *dest++ = c;