Java-将版权符号转换为&;复制
我有一个字符串,需要存储在数据库中。现在,字符串确实包含版权符号©了。我想将其转换为©;因此,它可以在每个浏览器和每个编码标准上正确显示 到目前为止,我一直在这方面努力Java-将版权符号转换为&;复制,java,character-encoding,Java,Character Encoding,我有一个字符串,需要存储在数据库中。现在,字符串确实包含版权符号©了。我想将其转换为©;因此,它可以在每个浏览器和每个编码标准上正确显示 到目前为止,我一直在这方面努力 -尝试了replace(),这对版权角色肯定不起作用。 -尝试通过设置不同的编码标准来在浏览器中查看数据来旋转表格,结果显示为� -使用UTF-8字符集将字符串转换为字节数组,并计算出-62是版权字符的ASCII值。现在的问题是,输入的字符串可能非常大,将其拆分为一个字节数组,然后再形成一个字符串将非常昂贵。 非常感谢
-尝试了replace(),这对版权角色肯定不起作用。
-尝试通过设置不同的编码标准来在浏览器中查看数据来旋转表格,结果显示为�
-使用UTF-8字符集将字符串转换为字节数组,并计算出-62是版权字符的ASCII值。现在的问题是,输入的字符串可能非常大,将其拆分为一个字节数组,然后再形成一个字符串将非常昂贵。
非常感谢您的帮助。HTML 这可能不会解决您的编码问题,但会从标题中回答您的问题 要对字符串进行HTML转义,我建议使用
StringEscapeUtils
from
编码 要解决编码问题..当您想使用
UTF-8
时,请确保至少设置了以下一项。此外,当设置多个参数时,所有参数必须一致
HTTP头中的内容类型
HTML
HTML 5
XHTML
还要确保您提供的内容是真正的UTF-8编码。我建议使用不带BOM的UTF-8编码。HTML转义
这可能不会解决您的编码问题,但会从标题中回答您的问题
要对字符串进行HTML转义,我建议使用StringEscapeUtils
from
编码 要解决编码问题..当您想使用
UTF-8
时,请确保至少设置了以下一项。此外,当设置多个参数时,所有参数必须一致
HTTP头中的内容类型
HTML
HTML 5
XHTML
还要确保您提供的内容是真正的UTF-8编码。我建议使用不带BOM的UTF-8编码。试试看
result = input.replace("\u00a9", "©");
试试看
result = input.replace("\u00a9", "©");
为什么要将转义的文本HTML存储在数据库中?这是用于表示的,不属于应用程序的核心数据。将字符串存储在您选择的编码中(当然,哪种编码并不重要,只要它是一致的,并且可以处理您需要的所有字符),并以这种方式处理数据。因此,你的问题的核心不是数据库 版权符号未正确显示的问题可能有几个原因。就像您正在发送浏览器UTF-8文本,但相应的
内容类型
声称您的内容是其他编码
一篇涵盖这个主题所有方面的文章将会非常广泛,但是你可以在网上找到很好的文档
不过,如果您坚持存储HTML转义数据:
string.replace(“\u00a9”,“©;”)代码>为什么要将转义的文本HTML存储在数据库中?这是用于表示的,不属于应用程序的核心数据。将字符串存储在您选择的编码中(当然,哪种编码并不重要,只要它是一致的,并且可以处理您需要的所有字符),并以这种方式处理数据。因此,你的问题的核心不是数据库
版权符号未正确显示的问题可能有几个原因。就像您正在发送浏览器UTF-8文本,但相应的内容类型
声称您的内容是其他编码
一篇涵盖这个主题所有方面的文章将会非常广泛,但是你可以在网上找到很好的文档
不过,如果您坚持存储HTML转义数据:string.replace(“\u00a9”,“©;”)代码>为什么replace()
不起作用?当您尝试它时得到了什么结果?版权字符没有ASCII值,因为ASCII不包含它!好啊现在有些事情已经开始起作用了——大部分情况下。现在的问题是显示版权字符。使用FIREBUG,我看到服务器为请求生成的响应确实包含版权字符。它只是没有被显示的方式;head不包含utf-8的字符集!为什么replace()
不起作用?当您尝试它时得到了什么结果?版权字符没有ASCII值,因为ASCII不包含它!好啊现在有些事情已经开始起作用了——大部分情况下。现在的问题是显示版权字符。使用FIREBUG,我看到服务器为请求生成的响应确实包含版权字符。它只是没有被显示的方式;head不包含utf-8的字符集!好啊现在有些事情已经开始起作用了——大部分情况下。现在的问题是显示版权字符。使用FIREBUG,我看到服务器为请求生成的响应确实包含版权字符。它只是没有被显示的方式;head不包含utf-8的字符集!escapeHtml把所有的标签、空格和所有东西都弄乱了。我只想更改版权符号。str.replace(“\u00a9”,“©;”)似乎不起作用!然后仅通过该方法传递版权符号。但对我来说,你有一些内容,其中部分内容仍然需要转义,而其他部分则不需要转义。这看起来好像是混在一起的。。。或者该内容打算用作UTF-8,“未转义部分”不需要转义,因为使用了字符集。更新了我的答案,并提供了一些有关编码的提示。也许这有助于解决编码问题。我建议您首先解决这个问题,因为在解决编码问题时,您很有可能不必再关心转义。好的。。现在索姆
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="utf-8">
<?xml version="1.0" encoding="UTF-8"?>
result = input.replace("\u00a9", "©");