【问题标题】:How to fix DSpace oai not showing special characters?如何修复 DSpace oai 不显示特殊字符?
【发布时间】:2017-05-22 18:02:34
【问题描述】:

我的 DSpace 安装工作正常,元数据正在存储并在任何浏览器中正确显示。该数据库已被确认为 UTF-8。问题是 oai 协议在字母(áéíóúüUñÑ 等)中显示重音符号和变音符号为?像 Dise?o 而不是 Diseño 并且所有收集我们的元数据的实体都报告了这个问题。如果你想亲眼看看,这是链接:http://repositorio.puce.edu.ec/oai/request?verb=Identify

我找不到任何为 oai 协议设置编码的文件,也找不到任何解决此问题的方法。

【问题讨论】:

  • 我正在运行 DSpace 5.6,并且我的集合名称在 OAI 收集器中正确显示。您正在运行哪个版本的 DSpace?您可以做的简单的事情是强制重建 OAI 索引(然后清除 OAI 缓存)。
  • @terrywb 我正在使用 DSpace 4.1,我已经执行了这两个命令无济于事。
  • 这可能指向一个解决方案:jira.duraspace.org/browse/DS-2343
  • 更改后是否需要重新编译 DSpace?

标签: diacritics dspace oai


【解决方案1】:

基于此线程:http://dspace.2283337.n4.nabble.com/OAI-tp4681419.html,您必须在JAVA_OPTS 中设置-Dfile.encoding=UTF-8。然后像@terrywb 提到的那样清理并强制重建 OAI 索引(即bin/dspace oai clean-cachebin/dspace oai import -c -o

【讨论】:

  • 谢谢,已经在 J​​AVA_OPTS 中配置了,但结果还是一样。
  • 在头痛了几个星期后,我终于解决了这个问题。你的回答有点正确,所以我会选择它作为接受的答案。在 Ubuntu 中这可以正常工作,但在 Red Hat Linux 中,该值必须设置为 -Dfile.encoding=UTF8 而不是 -Dfile.encoding=UTF-8。更改后我重新启动服务器并重建索引显示正确的字符!
【解决方案2】:

当您运行 bin/dspace oai import -c 时,请确保您使用 UTF-8 语言环境运行它。例如使用 LC_ALL=en_US.UTF-8。它在文档中被提及,也作为问题提交https://jira.duraspace.org/browse/DS-2033

【讨论】:

  • 只是这样做了,但它仍然向我显示错误的字符。很高兴知道其他人遇到过这些问题
【解决方案3】:

你把URIencoding设置成tomcat的server.xml了吗?

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"
            redirectPort="8443" URIEncoding="UTF-8" />

【讨论】:

  • 嗯,从一开始就是这样,但难道我已经将 Tomcat 配置为在 80 端口上工作?我尝试更改该文件中的端口号,但 tomcat 在更改后拒绝启动。当我将它改回 8080 后它再次工作。我应该将它添加为另一个连接器吗?
  • 不要担心端口号,URIEncoding="UTF-8" 应该添加到http连接器,尽管有端口
  • 谢谢,我已经在两个连接器中设置了它。我知道我将此问题标记为已回答,但在修复几天后,编码再次失败,我无法修复此问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多