<p>I'm working with a fairly simple database, from a Java application.  We're trying to insert about 200k of text at a time, using the standard JDBC mysql adapter.  We intermittently get a <code>com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column error.</code></p>
<p>The column type is <code>longtext</code>, and database collation is <code>UTF-8</code>.  The error shows up using both <code>MyISAM</code> and <code>InnoDB</code> table engines.  Max packet size has been set ot 1 GB on both client and server sides, so that shouldn't be causing a problem, either.</p>

Well you can make it ignore the error by doing an INSERT IGNORE which will just truncate the data and insert it anyway. (from
http://dev.mysql.com/doc/refman/5.0/en/insert.html
)
If you use the IGNORE keyword, errors
  that occur while executing the INSERT
  statement are treated as warnings
  instead. For example, without IGNORE,
  a row that duplicates an existing
  UNIQUE index or PRIMARY KEY value in
  the table causes a duplicate-key error
  and the statement is aborted. With
  IGNORE, the row still is not inserted,
  but no error is issued. Data
  conversions that would trigger errors
  abort the statement if IGNORE is not
  specified. With IGNORE, invalid values
  are adjusted to the closest values and
  inserted; warnings are produced but
  the statement does not abort.