JavaScript:
//https://www.npmjs.com/package/utf8 //https://github.com/mathiasbynens/quoted-printable par_comment_qoted = quotedPrintable.encode(utf8.encode('test ąčęė')); console.log('par_comment_qoted='+par_comment_qoted); // outpt: par_comment_qoted="test =C4=85=C4=8D=C4=99=C4=97"Oráculo:
select utl_raw.cast_to_varchar2(utl_encode.quoted_printable_encode(utl_raw.cast_to_raw('test ąčęė'))) from dual; -- output: test =E0=E8=E6=EB¿Por qué la misma operación devuelve diferentes salidas? ¿Hay alguna forma de hacer que el javascript también devuelva el mismo resultado de codificación imprimible citado que Oracle?
Puede intentar usar CONVERT para cambiar la cadena del conjunto de caracteres de la base de datos a UTF-8 antes de generar el imprimible citado:
select utl_raw.cast_to_varchar2( utl_encode.quoted_printable_encode( utl_raw.cast_to_raw( CONVERT('test ąčęė', 'UTF8') ) ) ) AS quoted_printable from dual;Qué salidas:
COTIZADO_IMPRIMIBLE prueba =C4=85=C4=8D=C4=99=C4=97
db<>violín aquí
¿Hay alguna forma de hacer que el javascript también devuelva el mismo resultado de codificación imprimible citado que Oracle?
Debería averiguar cuál es el conjunto de caracteres de la base de datos y luego codificar la cadena de JavaScript usando esa codificación (en lugar de UTF-8) y generar la cita impresa basada en el otro conjunto de caracteres.