比较字符串 UTF-8 时的 jstl 错误。(Spring Security - principal.username)

jstl bug while comparing strings UTF-8.(Spring Security - principal.username)

我的 jsp 页面有:

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>

...

<c:set var="currentUser">
  <sec:authentication property = "principal.username"/>
</c:set>

<c:if test = "${currentUser eq user.login}" >

...
当我比较英语单词评价时 returns true,但当涉及到俄语等时 - false
一开始我认为 jsp 编码可能会有问题,但是当我运行类似的东西时

<c:if test = "${'Андрей' eq 'Андрей'}" >

它来了

甚至

<c:if test = "${currentUser eq 'Андрей'}" > turns `false`

最后我想添加浏览器显示值 ${currentUser}${user.login} 作为一样

${currentUser}<br>
${user.login}

来了

Андрей
Андрей

提前感谢您的回复!

请试试这个测试页。这个对我有用。

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%
   pageContext.setAttribute( "currentUser", "Андрей");
%>
Test page.
<c:if test = "${currentUser eq 'Андрей'}" >
     Yes, they are equal.
</c:if> 
<c:if test = "${currentUser eq currentUser}" >
     Yes, they are equal. currentUesr is ${currentUser}
</c:if> 

输出:
测试页。是的,他们是平等的。是的,他们是平等的。 currentUesr 是 Андрей