使用 Solr 和 tomcat 进行 Java 编码

标签 java tomcat encoding solr dspace

我在 solr 的编码方面遇到了问题。我们在两台不同的服务器上有“相同”的设置,但其中一台能够在没有 ???字符,但测试服务器遇到了麻烦。

Solr 结果示例:
生产服务器:

effet sur l’acquisition des connaissances »\n\n#12;#12;EFFET D’UNE SÉQUENCE  

测试服务器:

effet sur l’acquisition des connaissances »\n\n��EFFET D’UNE SÉQUENCE D’ENSEIGNEMENTS

我在两台服务器上运行相同版本的 java:

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

两者都有相同的 Java 选项:

JAVA_OPTS=" -Dfile.encoding=UTF-8 "

两个 solr 具有相同的 Java 属性(在 UI 中)。

#12; 是什么意思?什么意思?

问题出在哪里?

操作系统:

  • Ubuntu 14.04

软件:

  • Tomcat 8.0.43
  • 空间 6.0
  • Solr 4.10.4

编辑: 两台服务器上的语言环境输出:

LANG=en_CA.utf8  
LANGUAGE=en_CA:en
LC_CTYPE="en_CA.utf8"
LC_NUMERIC="en_CA.utf8"
LC_TIME="en_CA.utf8"
LC_COLLATE="en_CA.utf8"
LC_MONETARY="en_CA.utf8"
LC_MESSAGES="en_CA.utf8"
LC_PAPER="en_CA.utf8"
LC_NAME="en_CA.utf8"
LC_ADDRESS="en_CA.utf8"
LC_TELEPHONE="en_CA.utf8"
LC_MEASUREMENT="en_CA.utf8"
LC_IDENTIFICATION="en_CA.utf8"
LC_ALL=

谢谢!

最佳答案

问题不在于编码,而在于 DSpace 的工作方式。我必须运行命令:

./dspace filter-media -f 

此命令将从 PDF 重新生成 .txt 文件并重新索引文档。所以每次我尝试用正确的编码索引文档时,它都没有改变任何东西。

关于使用 Solr 和 tomcat 进行 Java 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44546401/

相关文章:

java - 在bluej中编译?

eclipse - 我无法让 tomcat/jax-rs 和 maven 在同一个 IDE 的同一个项目中工作

java - 将整数列表转换为单词

c# - 将html表格导出到excel文件编码

java - hibernate sqlquery 到 DB 而不进行映射

java - 从 IntentService 多次发送结果

java - 如何摆脱 java.lang.OutOfMemoryError : Java heap space

Tomcat:HTTP 持久连接是否使连接器线程忙碌?

c# - StringBuilder 和字节转换

java - Spring Roo DataOnDemand getNewTransientObject 方法的自定义?