次の入力で失敗する多言語のDjango/Postgresベースのアプリがあります(サニタイズされています):
STATEMENT: INSERT INTO "main_model" ("a_id", "b", "c", "d", "text", "f", "g", "h")
VALUES (1, 2, 'c', 'd', '...nahlá<U+009A>ení ... nahla<U+009A>ování...', 'f', 'g', 'h')
RETURNING "main_model"."id"
ERROR: current transaction is aborted, commands ignored until end of transaction block
文字列はUnicodeであり、text
postgresがそれを窒息させているように見えます。これは一例ですが、これは他のいくつかの言語でも発生しています。
このステートメントの正確なエラーが何であるかを理解するためのより良い方法はありますか?
DBにスローする前にUnicode文字列に対して行う必要のあるサニテーションはありますか?