我正在尝试在我的Postgres数据库中存储编码的谷歌地图路线。当我使用JDBC对我的servlet执行此操作时,我得到以下异常。当API尝试解析我插入的字符串时会发生这种情况。但是,当我直接将值插入数据库表时,它无需投诉。
org.postgresql.util.PSQLException: ERROR: invalid Unicode escape
Hint: Unicode escapes must be \uXXXX or \UXXXXXXXX.
Position: 123
抛出此异常的值的一部分是:
}ofi@ukkfNzFuB`Aa@fCkAh@YbAu@rB}Ap@_@t@Wx@Qt@Er@Cx@BnHn@NAR?LCJIJQMsBGe@KYgAyBOu@?OBKHI`@QhA?pAC~@ILE\\QHGHMFs@VqQOkD@_JEu@IKCSFSJIDAH_@DuGByAB[BKFG@F@ROxJ?^FNBDFNCTKLODUEIICG?UJQHEHYDaEDsDDa@HMD_E@kBD}HRcQFuHH{DCGAwA@yBPwRJuHNsAJ_BHcL@mIHmFH{@Po@LWRS~DsCe@eAMOEIMEq@GiBLEoAOkBC{@IoADWn@{AlBr@mBs@H[D_AOwBCk@@s@Je@?OBQl@qBdA{DjAqELUX]LKZSCKGWAICy@NgAX}@|@kB`CmEjCcFnAaD`@mAV}@`@iBp@eE\\uCPaAf@}Ah@gAbAuA`@c@vAsApF{El@q
答案 0 :(得分:3)
当API尝试解析我插入的字符串时会发生这种情况。
我认为你的意思是它在尝试解析你将字符串连接成的SQL时发生了,不是吗?
使用PreparedStatement
,并正确使用它。
答案 1 :(得分:2)
答案 2 :(得分:-1)
JDBC正在将字符串\uCPaAf
的这一部分解释为尝试放入unicode。您需要双重转义前面的\\
,以便它变为\\\\uCPaAf