Legacy web apps still use Shift_JIS as the page character code.
In this application, if you set a specific multi-byte character to a GET Parameter with JavaScript, some characters will not be converted.
[Page character code: Shft_JIS]
<!doctype html>
<html>
<head>
<title>Shift_JIS_AutoUrlEncode_Bug?</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script type="text/javascript">
<!--
function exec() {
var url = location.href.split('?')[0];
location.href = url + '?value=フー'
}
-->
</script>
</head>
<body>
<input type="button" value="Go Get Paramater Auto Encode!" onclick="exec();">
</body>
</html>
The character in question is "ー".
The automatic encoding by the browser results in "%81[".
I think it should be "%81%5B" correctly.
The previous web container (tomcat) allowed this request, but the latest version of the web container (tomcat) causes an error with "RFC 7230 and RFC 3986 violation".
If anything, it seems to be a bug in Chrome and Edge, but what do you think?
thanks.