gpt4 book ai didi

jsp - 在jsp中显示\u0096

转载 作者:行者123 更新时间:2023-12-04 19:34:32 28 4
gpt4 key购买 nike

我正在尝试显示存储在数据库中的字符,该字符是 unicode 字符\u0096。由于奇怪的 windows-vs-web-browser 事情,这是 unicode 标准中的控制字符,但网页会将其显示为 En Dash。请参阅@AlanMoore 在 Some UTF-8 characters do not show up on browser 上的回答.

我有以下 jsp 文件。我想将\u0096 字符显示为 En Dash(这是其他前端解决方案可以完成的壮举)。

<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page session="false" trimDirectiveWhitespaces="true"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!doctype html>
<html>

<c:set var="control" scope="request" value= "b"/>
<c:set var="endash" scope="request" value="a"/>
<% request.setAttribute("control", "\u0096");%>
<% request.setAttribute("endash", "\u2013");%>

Match? 0096: <c:out value="${control}"/> 2013: <c:out value="${endash}"/>

我得到的输出是

Match? 0096:  2013: –

我想要的是

Match? 0096: – 2013: –

最佳答案

\0096表示的字符,即U+0096,在Unicode中明确是一个控制字符,含义不明。这不应与在 windows-1252 编码中,byte 0x96 表示 U+2013 EN DASH 的事实混淆。

因此,与其尝试将不可见字符渲染为可见字符,不如简单地将 U+0096 替换为 U+2013,或者根据实际设置,转换 从数据库中获取的数据,从 windows-1252 转换为例如UTF-16。数据库不太可能包含应该是 U+0096 的内容。相反,它包含现在被误解为 UTF-16 但实际上是字符的 windows-1252 编码表示的字节。

关于jsp - 在jsp中显示\u0096,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500162/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com