Skip to content

fix: Add encoding for additional special characters in encodeQueryValue#1068

Open
kimjeongwonn wants to merge 3 commits into
47ng:nextfrom
kimjeongwonn:next
Open

fix: Add encoding for additional special characters in encodeQueryValue#1068
kimjeongwonn wants to merge 3 commits into
47ng:nextfrom
kimjeongwonn:next

Conversation

@kimjeongwonn

Copy link
Copy Markdown

Changes

Add {}|^? to the list of special characters that are encoded in the encodeQueryValue function.

Motivation

According to RFC 3986, certain special characters that are not included in the allowed URI character set can cause some nginx servers to return errors, making the site inaccessible when these characters appear in query parameters.
To address this issue, we are adding encoding for {}|^? characters. While I understand that PR #372 implemented custom encoding rules instead of using encodeURIComponent to keep URLs more readable, I believe proper functionality should take priority over aesthetic considerations.

Additionally, the reason for encoding ? is that some websites use ? as a delimiter to split strings in their logic. If ? characters in query values are not encoded, it could lead to unexpected parsing issues. For safety and reliability, we should encode ? characters as well.

@vercel

vercel Bot commented Aug 15, 2025

Copy link
Copy Markdown

@kimjeongwonn is attempting to deploy a commit to the 47ng Team on Vercel.

A member of the Team first needs to authorize it.

@vercel

vercel Bot commented Aug 15, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
nuqs Ready Preview Comment Aug 15, 2025 1:39pm

@franky47

Copy link
Copy Markdown
Member

Do you have an example nginx setup (version + config) where this occurs that I can try?

Anyway, this would be a breaking (behavioural) change so it will only land in nuqs@3.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants