Confluence 6 € 欧元字符集不能正常显示

简介: € (euro) 标记 是一个 3 字节字符,在 (UTF-8)中这个字符被表示为 0xE2, 0x82, 0xAC。有时候,你的系统中没有设置所有的地方为相同的字符集的时候(Confluence,服务器和数据库都应该是相同的字符集),你可能会遇到一些字符不能显示的问题。

€ (euro) 标记 是一个 3 字节字符,在 (UTF-8)中这个字符被表示为 0xE2, 0x82, 0xAC。

有时候,你的系统中没有设置所有的地方为相同的字符集的时候(Confluence,服务器和数据库都应该是相同的字符集),你可能会遇到一些字符不能显示的问题。

...
I write a page with a Euro sign in it (€). All is well, the Euro sign shows up in the wiki markup text-box, and the preview, and the display of the saved page.
One day later, the Euro sign has changed into a question mark upside down!
...
What is going on? Why does the Euro sign mysteriously change? How do I prevent it?

有趣的是,这个字符集在测试的时候是没有问题的,Confluence 和数据库都能够没有问题的完整识别这个字符。

导致这个问题的可能是有如下 2 个原因:

数据库和 Confluence 使用的是 utf-8 编码,但是连接不是。

当数据在应用程序和数据库之间进行传递的时候,如果使用的不是 utf-8 编码,有可能会导致字符不能被识别。你可以在你的连接中指定使用 utf-8 编码,你这个问题将会自动被解决,请注意修改数据库连接后,已经存在的数据不会被修改,你可能需要找到有乱码的地方自行进行修改。

数据库没有使用 utf-8,但是 Confluence 和连接使用的是。

如果你的数据库编码没有使用 UTF-8 编码,例如你可能使用的是 latin1 编码,那么有可能在你存储 "€" 字符的时候导出存储错误。这个有可能是因为 缓存(caching) 导致的。 当 Confluence 将数据库存储到数据库的时候,Confluence 有可能还保留了一个本地的缓存拷贝。如果数据库的字符集没有被正确的设置,欧元的标记可能不能在数据库中正确存储,但是 Confluence 有可能会持续使用缓存的数据(这个数据有正确的编码)。这个错误只能在缓存被删除后才能察觉到,因为不正确的字符编码已经存储到数据库中了。

针对存储使用 latin1 编码的字符集,所有 2 字节的 UTF-8 编码字符都应该能够正确显示,在存储欧元标记的时候,数据库中的存储数据将会显示为 '?' 。Confluence 的字符编码被设置为 UTF-8 编码,那么 2 字节的 UTF-8 编码,在数据库中存储的使用的 latin1 字符集,那么数据库也会使用的是 2 字节的字符集而不会使用 UTF-8 字符集。这样 3 自己的字符集,例如欧元就不能正确存储了。

请确定你按照你系统的建议为你的所有的实体都设置 UTF-8 编码,请参考 Troubleshooting Character Encodings 页面中内容。

 

https://www.cwiki.us/pages/viewpage.action?pageId=37487808

目录
相关文章
|
8月前
|
SQL 移动开发 Oracle
解决Toad for Oracle显示乱中文码问题
解决Toad for Oracle显示乱中文码问题
110 1
|
8月前
|
SQL 数据采集 关系型数据库
如何在MySQL 中更改数据的前几位数字?
在 MySQL 数据库中,有时候我们需要对数据进行一些特定的处理,比如更改数据中某个字段的前几位数字。这种需求可能涉及到数据清洗、数据转换或者数据修复等操作。本文将介绍如何使用 SQL 查询来实现这一功能。
|
存储 SQL 关系型数据库
开心档之MySQL 数据类型
开心档之MySQL 数据类型
55 0
|
XML 存储 安全
Unicode 15.0 标准已发布,新增鹅、豌豆等 20个emoji
Unicode 15.0 标准已发布,新增鹅、豌豆等 20个emoji
513 0
|
Oracle 关系型数据库 数据库
业内盆友来稿:Win10下通过PLSQL Developer连接Oracle19C,中文别名乱码怎么破?
业内盆友来稿:Win10下通过PLSQL Developer连接Oracle19C,中文别名乱码怎么破?
275 0
业内盆友来稿:Win10下通过PLSQL Developer连接Oracle19C,中文别名乱码怎么破?
|
关系型数据库 MySQL 数据库
【MySQL数据库】字符集与校对集
MySQL中提供了许多校对集,用于为不同字符集指定比较和排序规则。校对集的名称由“_”分隔的3部分组成,开头是对应的字符集,中间是国家名或general,结尾是ci、cs或bin。ci表示不区分大小写,cs表示区分大小写,bin表示以二进制方式比较。
|
存储 架构师 JavaScript
小师妹学JavaIO之:文件编码和字符集Unicode
小师妹学JavaIO之:文件编码和字符集Unicode
|
关系型数据库 Oracle
Confluence 6 配置数字格式
在 Confluence 中使用了 2 种数字格式: 整形数字格式。例如: ############### 小数数字格式。
1006 0
|
数据库
Confluence 6 字符集编码的问题解决
如果你的 Confluence 站点的字符集没有被正确配置,你可能会遇到下面的问题: Non-ASCII 字符将会显示为问号(?) Non-ASCII 字符集的页面链接将不能工作 单一字符将会被显示为 2 个字符 文本出现乱码 对这些问题进行诊断,请参考下面的步骤。
1328 0
|
关系型数据库 数据库 Oracle
Confluence 6 配置字符集编码
Confluence 和你的数据库必须配置使用相同的字符集。为了避免字符出现问题,请将所有的字符集设置为使用 UTF-8 编码(或者根据你配置的数据库来制定正确的 UTF-8 编码字符集,例如在 Oracle 中使用的是 AL32UTF8 )。
1269 0

热门文章

最新文章