The following bug has been RESOLVED.
======================================================================
http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0000218
======================================================================
Reported By: mrbarletta
Assigned To: aaron
======================================================================
Project: DBMail
Bug ID: 218
Category: Database layer
Reproducibility: always
Severity: feature
Priority: low
Status: resolved
Resolution: suspended
======================================================================
Date Submitted: 13-Jun-05 00:12 CEST
Last Modified: 23-Jul-05 07:31 CEST
======================================================================
Summary: invalid byte sequence for encoding "UNICODE"
Description:
When dbmail-lmtpd try to store messages sent from yahoo, it fails. Yahoo
adds at the end of the email some ads with spanish characters..
======================================================================
----------------------------------------------------------------------
mrbarletta - 17-Jun-05 19:18 CEST
----------------------------------------------------------------------
Look this error message, You can see that Yahoo adds an advertisement afert
the </html> tag. With PostgreSQL this ends in an error message, but with
mysql it succeed and the email is stored completly. Has this something to
do with it? I would like to make a patch.. but not a postgres
master...thanks!
dbmail/lmtpd[988]: dbpgsql.c, db_query: Error executing query [INSERT INTO
dbmail_messageblks (is_header, messageblk, blocksize, physmessage_id)
VALUES ('0','This is a multi-part message in MIME format.
--------------090404020602070309000802 Content-Type: text/plain;
charset=ISO-8859-1 Content-Transfer-Encoding: 7bit aaaaa
--------------090404020602070309000802 Content-Type: text/html;
charset=ISO-8859-1 Content-Transfer-Encoding: 7bit <!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta
content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title> </head> <body bgcolor="#ffffff"
text="http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0333333">
<font
face="Verdana">aaaaa</font> </body> </html>
--------------090404020602070309000802--
___________________________________ A tu celular no le falta algo?
Us&http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0065533;Yahoo!
Messenger y Correo Yahoo! en tu
tel&http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0065533;ono
celular.
M&http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0065533;
informaci&http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0065533;
en http://movil.yahoo.com.ar ', '776',
'1405')] : [ERROR: invalid byte sequence for encoding "UN
Jun 17 11:06:19 paloma dbmail/lmtpd[988]:
db.c,db_insert_message_block_physmessage: dbquery failed
----------------------------------------------------------------------
paul - 17-Jun-05 22:45 CEST
----------------------------------------------------------------------
Isn't this a postgres issue instead of a dbmail issue?
There's no problem as long as you use SQL_ASCII for database encoding,
**not** UNICODE! Apparently postgres does it's own unicode validation
whereas dbmail passes email as-is from the net into the database in terms
of char encoding.
So until dbmail claims unicode support you shouldn't use UNICODE as
postgres database encoding.
----------------------------------------------------------------------
paul - 17-Jun-05 22:48 CEST
----------------------------------------------------------------------
I'm resetting this bug to won't-fix, major-rework, don't hold your breath.
----------------------------------------------------------------------
aaron - 27-Jun-05 17:19 CEST
----------------------------------------------------------------------
/* UNICODE is broken prior to 8.1 */
if (PQServerVersion(conn) < 80100) {
char *enc = NULL;
enc = pg_coding_to_char(PGclientEncoding(conn));
if (strcmp(enc, "UNICODE") == 0) {
trace(FATAL, "Database encoding type UNICODE "
"is not supported prior to PostgreSQL
8.1");
}
// FIXME: Does enc need to be freed?
}
Should we actually be checking *for* SQL_ASCII, and requiring it? I wonder
if, say, EUC_JP encoding would break the heck out of DBMail...
----------------------------------------------------------------------
aaron - 23-Jul-05 07:31 CEST
----------------------------------------------------------------------
Added the code to check against UNICODE and PostgreSQL < 8.1.
A more thorough fix may happen sometime in the future if problems persist.
Bug History
Date Modified Username Field Change
======================================================================
13-Jun-05 00:12mrbarletta New Bug
17-Jun-05 19:18mrbarletta Bugnote Added: 0000746
17-Jun-05 22:45paul Bugnote Added: 0000747
17-Jun-05 22:48paul Bugnote Added: 0000748
17-Jun-05 22:48paul Priority normal => low
17-Jun-05 22:48paul Severity major => feature
17-Jun-05 22:48paul Projection none => major rework
17-Jun-05 22:48paul Resolution open => won't fix
17-Jun-05 22:48paul Status new => acknowledged
27-Jun-05 17:19aaron Bugnote Added: 0000759
23-Jul-05 07:31aaron Bugnote Added: 0000785
23-Jul-05 07:31aaron Assigned To => aaron
23-Jul-05 07:31aaron Resolution won't fix => suspended
23-Jul-05 07:31aaron Status acknowledged => resolved
======================================================================