2012-08-14 47 views
1

我的data-config.xml看起來像這樣。文件編碼是帶有BOM的UTF-8。Solr DataImport編碼

<?xml version="1.0" encoding="UTF-8"?> 
<dataConfig> 
    <dataSource type="JdbcDataSource" 
       driver="com.mysql.jdbc.Driver" 
       url="jdbc:mysql://192.168.0.2/dasaran_old" 
       user="root" 
       password="" 
       encoding="UTF-8"/> 
    <document> 
    <entity name="user" 
      query="SELECT CONCAT_WS('_', 1, u.`id`) AS id, u.`id` AS entity_id, 1 AS entity_type, fullname AS title, CONCAT_WS(' ', 'Դպրոց՝ ', s.title, 'դաս.՝', cl.title) AS description FROM das_user u INNER JOIN das_ref_student_to_class_to_school sts ON u.id = sts.student_id INNER JOIN das_school s ON sts.school_id = s.id INNER JOIN das_classes cl ON sts.class_id = cl.id WHERE u.role = 'student'"> 
    </entity> 
    </document> 
</dataConfig> 

從MySQL中提取的unicode數據是OK的。但是查詢中的unicode字符沒有被作爲Unicode插入Solr索引。

我正在收到這樣的文檔。

<doc> 
<str name="description">?????? 65 ???.? 5-1</str> 
<int name="entity_id">18126</int> 
<int name="entity_type">1</int> 
<str name="general">Ռուբեն Վարդանյան Արմենի</str> 
<str name="id">[[email protected]</str> 
<str name="title">Ռուբեն Վարդանյան Արմենի</str> 
</doc> 

回答

0

我不認爲在數據-config.xml中的編碼有什麼與JDBC連接使用的編碼,你應該指定爲URL參數,請參閱this question

參數細節是:

jdbc:mysql://localhost:3306/administer?characterEncoding=utf8