Solr JavaScript转换器和特殊字符(æ;、ø;、和å;)
我正在使用web服务器运行1.4。在我的Solr JavaScript转换器和特殊字符(æ;、ø;、和å;),javascript,solr,special-characters,Javascript,Solr,Special Characters,我正在使用web服务器运行1.4。在我的data config.xml文件中有一个用JavaScript编写的转换器,如下所示: <script><![CDATA[ function transform(row) { var itemColor = row.get('ItemColor'); if (itemColor == 'SORT' || itemColor == 'BLACK') {
data config.xml
文件中有一个用JavaScript编写的转换器,如下所示:
<script><![CDATA[
function transform(row) {
var itemColor = row.get('ItemColor');
if (itemColor == 'SORT' || itemColor == 'BLACK') {
row.put('ItemColor', 'Sort');
}
else if (itemColor == 'RØD' || itemColor == 'RED') {
row.put('ItemColor', 'Rød');
}
return row;
}
]]></script>
基本上,在我将itemColor
添加到Solr索引之前,我试图用'RØD'替换'RØD'和'RED',用'SORT'替换'SORT'和'BLACK'。(“SORT”在丹麦语中为黑色,“RØD”为红色)
但是由于某些原因,如果部分永远都不是真的,则else-if部分的值为'RØD'。当值为“SORT”或“BLACK”时,更新itemColor
没有问题。我怀疑这与特殊角色(Æ、Ø和Å)有关。我尝试过使用包含这些字符的颜色,但每次都失败了
解决方案是什么?您的data-config.xml文件是utf8还是其他文件?您是否尝试过使用unicode转义码?(
'\xD8'
而不是'Ø'
)?是的-你是对的。我必须这样做才能让它工作。else if(itemColor=='R\xD8D'| | itemColor=='R\xF8d'){row.put('itemColor','R\xF8d');}