我正在使用 Solr 1.4 和 Tomcat6。DB mysql 5.1 存储拉丁数据。当我运行 dataimporthandler 时,此数据 => 在 solr 管理错误字体中查看数据。
<doc>
<str name="id">295</str>
<str name="subject">Tuấn Tú</str>
−
...<arr name="title">
<str>tunt721</str>
</arr>
</doc>
真实数据视图:
<doc>
<str name="id">295</str>
<str name="subject">Tuấn Tú</str>
−
...<arr name="title">
<str>tunt721</str>
</arr>
</doc>
帮我解决问题。非常感谢
答案1
您可以尝试将数据源中的 unicode 设置更改为 false:
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://host/databasename?zeroDateTimeBehavior=convertToNull&useUnicode=false"
encoding="iso-8859-1"
user="username"
password="password" />
更好的解决方案是尝试将数据库转换为unicode/UTF8字符集。
答案2
答案有点晚了,但是如果你不能更改数据库编码,你也可以考虑使用characterSetResults
参数来告诉服务器返回什么编码(请参阅各种各样的在连接器文档中)
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://xxx/yyy"
user="username"
characterSetResults="iso-8859-1"
zeroDateTimeBehavior="convertToNull"
password="password"
batchSize="-1" />