What causes the discrepancy in results between the quoted printable encoding operation in JavaScript and Oracle?

Programming Languages:

// JavaScript code snippet
//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);
// Output in JavaScript: par_comment_qoted="test =C4=85=C4=8D=C4=99=C4=97"

Database Query:

-- Oracle SQL query
select utl_raw.cast_to_varchar2(utl_encode.quoted_printable_encode(utl_raw.cast_to_raw('test ąčęė'))) from dual;
-- Output in Oracle: test =E0=E8=E6=EB

Why do the same operations yield different results in JavaScript and Oracle? Is there a way to align the JavaScript code to produce the same quoted printable encoding result as Oracle?

Answer №1

To generate quoted printable strings from a database character set to UTF-8, you can utilize the CONVERT function along with encoding functions in Oracle SQL:

select utl_raw.cast_to_varchar2(
         utl_encode.quoted_printable_encode(
           utl_raw.cast_to_raw(
             CONVERT('test ąčęė', 'UTF8')
           )
         )
       ) AS quoted_printable
from   dual;

The above query will output the quoted printable string as:

QUOTED_PRINTABLE
test =C4=85=C4=8D=C4=99=C4=97

You can experiment with this code on db<>fiddle here

If you want to replicate the same quoted printable encoding result in JavaScript, you need to determine the database's character set and then encode the JavaScript string using that specific encoding before generating the quoted printable format.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Ensure to install jpm globally using the following command: npm install

Experiencing issues with nodejs after running the command npm install jpm --global. Any insights into what may be causing this error? npm-debug.log Encountering an error message after executing the command. The log shows a failure to replace env in the ...

Ways to retrieve the text of the chosen radio button label with the help of jQuery

There is a radio button on my webpage that looks like this: <div id="someId"> <label class="radio-inline"> <input name="x" type="radio" onchange="GetSelectedVal();">Yes</label> <label class="radio-inline"> ...

Angular 14 is experiencing issues with NgRx Store failing to properly recognize the payload

The issue lies in TypeScript not recognizing action.payload.index as a valid property. I am unsure how to resolve this problem and make the 'index' visible in my project. shopping-list.actions.ts import {Action} from "@ngrx/store"; im ...

What is the process for configuring the injector in my application?

https://code.angularjs.org/1.0.0rc9/angular-1.0.0rc9.js I am facing an issue with the above link as it defines an external js file that I am not familiar with the injector to angular-1.0.0rc9.js. Due to this, my app is not running in the browser. Here is ...

Components are not being displayed by React Router v4

Encountering an issue with React Router v4 where components are not being rendered correctly. Initially, when the application loads, the corresponding component for the URL is displayed. However, subsequent clicks on any Link do not result in the desired c ...

Running JavaScript function from AJAX response containing both HTML and JavaScript code

For my first time using AJAX to prevent page refresh upon form submission, everything works flawlessly. The data is received in HTML form and placed into the designated div. However, I am encountering an issue with one of the JavaScript functions responsib ...

I am currently attempting to find a color picker element within a parent class using Cypress CSS Locator. While I am able to reach the parent element, I am unsure of the correct method to target the

My user interface has a list of elements displayed in 2 columns. The first column shows the name of the item, such as Manager, Operator, and the list is expected to grow. The second column consists of a color picker element where you can choose a color. I ...

The JQuery function .remove() will not properly remove dynamically added elements

I am facing an issue when trying to remove an element from a page. Every time I click on a button on the page, it adds a div with the following structure: <div class="holder-div" style="position: relative;display: inline-block;"> ...

Tips for showcasing req.validationError in a form

I am currently working on validating a sign-up page using node.js/express. My main goal is to show the error messages generated by req.validationErrors() directly on my form. I have opted to use ejs instead of jade, and while I found a solution for display ...

Error: An unidentified type was encountered that is not a functioning element within an anonymous PHP JavaScript function

Hello everyone, I am seeking help with a JavaScript error that is causing some trouble. Whenever I try to sort a table and implement pagination in PHP, I get an error message in the console stating "Uncaught TypeError: undefined is not a function." Despite ...

Attempting to implement usedispatch hook in combination with userefs, however, encountering issues with functionality

I've been exploring the Redux useDispatch hook lately. I created a simple app for taking notes in a todo list format. However, I am facing an issue with useDispatch as it's not working for me and I keep encountering this error: Module build faile ...

Webpack creating a bundle file with no content

I'm currently facing a challenge with webpack/webpack-stream while trying to bundle some JavaScript files. The issue I am encountering is that, despite generating the bundle.js file, it turns out to be empty. To ensure clarity, I've provided the ...

Determining if a variable has been defined in JavaScript

In my JavaScript code, I declare global variables named with the prefix "sld_label" where "label" can be any string. These variables are initialized as objects that contain a function called setval. Now, I have a function that receives a label in a string ...

Issue with JavaScript function loading website homepage solely is functioning only for the first time

I am in the process of creating my own personal website. To ensure seamless navigation, I added a "home" button that, when clicked, triggers a JavaScript function called loadhomepage() to load the homepage. While this function works perfectly upon initial ...

Obtaining the pathname in a NextJS file like _document.js is a matter of accessing

I'm looking to retrieve the current URL path in my /page/_document.js file. I've created a class and my goal is to implement a conditional statement based on this value. Below is the code snippet (similar to the example provided in NextJS docume ...

"Underscores in an array of primary keys serve as markers for

I want to filter a list of objects using underscore based on their primary key being included in a specific array of primary keys. list = [object{pk: 1}, object{pk: 2}, object{pk: 3}] primary_key_list = [1,2] The desired outcome is to return [object{pk: ...

Ways to convert a PHP array into a JavaScript array

I have a 3D array in php when using var_dump($arr) it looks like this array(2) { [0]=> array(4) { [0]=> array(2) { [0]=> string(7) "36.3636" [1]=> int(8) } [1]=> array(2) { [0]=> string(7) "27.2727" [1]=> int(5) } [2]=> a ...

Customize your payment with a PayPal button tailored to your desired price

I've been tasked with creating a dynamic PayPal button that can receive different values based on user choices. The website has so many options that creating separate buttons for each choice doesn't seem feasible. I've tried researching solu ...

Tips for efficiently expanding NodeJS while running it through an Apache web server?

Currently, I have Apache Web Server running alongside NodeJS on the same system but on different ports. I am reverse proxying to connect and use them for various purposes. My concern is how to scale this architecture up to accommodate around 10 million u ...

The $(document).ready function may not be compatible with Internet Explorer

I have a page with two links - one for registering and one for logging in. Currently, the register link is the most important. When clicked, it loads a .tpl file using jQuery's load function. Within this tpl file, I include a new JavaScript file usin ...