plsql - What encoding is used when calling an Oracle PL/SQL procedure -
on coldfusion page call pl/sql procedure. html form encoded using utf-8, oracle db has encoding we8iso8859p1
. kind of conversion happens in case of i_value
below?
i'm interested in happens ms word left quote (which encoded in utf-8 e28098
). when decode i_value
in pl/sql becomes 18
(hex). considering u+2018 makes sense, still wonder why 20
swallowed.
<cfstoredproc procedure = "my_schema.lib.write_field" datasource="#datasource#"> <cfprocparam cfsqltype="cf_sql_varchar" variable="i_name" value="remark" type="in"> <cfprocparam cfsqltype="cf_sql_varchar" variable="i_value" value="#form.remark#" type="in"> </cfstoredproc>
coldfusion java based guess string variables encoded using utf-16.
when going utf-16
(2 byte encoding) 1 byte encoding(e.g. we8iso8859p1
) case in example, msb ignored , lsb considered.
this explain observed behavior: noticed of bytes seem swallowed when sent db, e.g. left single quotation mark (0x2018 in utf-16) becomes 0x18 in db.
Comments
Post a Comment