写入数据提示“postgresql提示:无效的 "UTF8" 编码字节顺序: 0x00”,遇到过几次基本都是有中文内容的情况下出现,英文提示是:“invalid byte sequence for encoding ‘UTF8’: 0x00″,直接上解决方法:
确认数据库的 编码是UTF8
你可以通过以下 SQL 语句检查 PostgreSQL 数据库的编码:SHOW server_encoding;
2.确定数据库连接设定了编码是UTF8
FDConnection.Params.Values['CharacterSet'] := 'UTF8';
3.对于传参方式的SQL,强制指定参数的类型为ftWideString
FDQuery.ParamByName('YourParam').AsWideString := '你的内容';
4.如果信息里面确实含有0x00的内容,过滤掉
CleanStr := StringReplace(OriginalStr, #0, '', [rfReplaceAll]);
FDQuery1.ParamByName('YourParam').AsString := CleanStr;
还不快抢沙发