Skip to content

Conversation

@kimjeongwonn
Copy link

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
Copy link

vercel bot commented Aug 15, 2025

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

A member of the Team first needs to authorize it.

@vercel
Copy link

vercel bot commented Aug 15, 2025

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
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 [email protected].

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