我有一个字符串传入,我需要将其存储在数据库中。现在该字符串确实包含版权符号©。我想将其转换为 © ;以便它可以在每个浏览器和每个编码标准上正确显示。
这是我到目前为止所到达的地方
- 尝试了replace(),这对于版权字符来说绝对不起作用。
- 尝试通过设置不同的编码标准来在浏览器中查看数据来转表,它显示为 �
- 将字符串转换为具有 UTF-8 字符集的字节数组,并计算出 -62 是版权字符的 ASCII 值。现在的问题是传入的字符串可能非常大,将其拆分为字节数组然后再形成字符串将非常昂贵。
感谢任何帮助。
最佳答案
HTML 转义
这可能无法解决您的编码问题,但可以从标题回答您的问题。
要对字符串进行 HTML 转义,我推荐 Apache Commons Lang 中的 StringEscapeUtils
StringEscapeUtils.escapeHtml(String)
<小时/>
编码
要解决您的编码问题..当您想使用 UTF-8
时,请确保至少设置以下一项。此外,当设置多个它们时,所有它们都必须一致。
HTTP header 中的内容类型
Content-Type: text/html; charset=utf-8
HTML
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
HTML 5
<meta charset="utf-8">
XHTML
<?xml version="1.0" encoding="UTF-8"?>
还要确保您提供的内容确实是 UTF-8 编码的。我建议使用无BOM的UTF-8编码。
关于Java - 将版权符号转换为©,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648146/