我需要将数据从mysql db注入SOlR索引。 pb是我的数据库中的字符是UTF8,我需要将它们转换为LATIN1,因为有重音。 有什么想法?SOLR + Mysql:如何将utf8转换为latin1
回答
一般来说,这是不可能的,因为UTF8跨越整个Unicode范围,目前1,112,064个码点,Latin1不超过256个。如果您的文本使用完全由Latin1覆盖的语言,则可以简单地过滤表示代码点高于255的UTF8字符(实际执行此操作的方式取决于您正在使用的技术并且未在您的问题中提及)。
即使您的语言只使用256以下的字母字符,也可能您的文本包含一些较高级别的UTF8非字母字符:这是一个常见问题,但是,您希望将Latin1用于搜索引擎索引,你可能会忽略非字母字符(这些字符包括表情符号,当今网络中非常常见的字符,YMMV)
我不明白为什么你不能在整个过程中使用UTF-8:Solr支持它。
ok,在这种情况下,我不会使用solr,因为我应该这样做。当我启动我的数据导入时,例如“Vincent 5Ô在我的数据库中,并想在我的solr中使用“Vincent 5à”。也许这是solr配置的问题?你可以帮我吗 ? – Vince
那么,你可以开始[这里](https://wiki.apache.org/solr/FAQ#Why_don.27t_International_Characters_Work.3F)。如果您需要更多帮助,您应该编辑您的问题,指定您在所有涉及的服务器和客户端上使用的操作系统和应用程序软件,所发布的命令以及所有相关详细信息。从你写的(“Vincent 5Ô)我认为这是一个更多的问题,从数据库正确导出比导入到Solr,但没有更多的细节,我不能多说。 – Dario
- 1. MySQL将表格从Latin1转换为utf8
- 2. MySQL将latin1数据转换为UTF8
- 3. 将latin1字符串转换为utf8?
- 4. 如何旧数据库转换在MySQL形式LATIN1为utf8
- 5. 在MySQL中将数据从LATIN1转换为UTF8
- 6. MySQL将latin1转换为utf8,cp1252 0x80-0x9F错误
- 7. LATIN1到UTF8转换问题
- 8. 如何将带有序列化值的latin1表转换为utf8?
- 9. 将Latin1的SQL转换列转换为UTF8
- 10. 如何在MySQL插入或更新时将latin1数据转换为UTF8?
- 11. 整理资料从Latin1的转换MySQL表时为utf8
- 12. 将数据从latin1转换为utf8后截断数据
- 13. 如何将latin1编码表转储为MYSQL中的utf8编码表?
- 14. MySql varchar从Latin1更改为UTF8
- 15. 如何将字符串转换为UTF8?
- 16. java:如何将文件转换为utf8
- 17. mysql将默认字符集latin1改为utf8
- 18. 如何将mysqli_set_charset($ conn,“utf8”)转换为MYSQL中的PDO格式?
- 19. 如何使用alembic将MySQL表转换为utf8字符集?
- 20. 如何将Wordpress的mysql数据库转换为UTF8?
- 21. 将Unicode转换为UTF8
- 22. 将UTF8转换为Windows-1252
- 23. 将latin1数据库转换为utf-8
- 24. 将utf8代码点字符串转换为utf8 <U+0161>转换为utf8
- 25. 在PHP中将utf8转换为latin1。 255以上的所有字符转换为字符引用
- 26. 如何将加入的MySql数据转换为Solr索引
- 27. 如何将存储为LATIN1(sql)的西里尔文转换为带有iconv的真正的UTF8西里尔语?
- 28. 如何解决在尝试从mysql中的Latin1转换为UTF8时出错的字符串值?
- 29. 如何确定这是latin1还是utf8?
- 30. 我可以将MySQL数据库字符集从latin1转换为utf8而不丢失数据吗?
Solr原生使用UTF-8,但确保数据库实际上使用UTF-8连接(当驱动程序正在连接时为'SET NAMES UTF8',如果可能则通过JDBC字符串) – MatsLindh