我的MySQL数据库有些混乱!
实际信息以UTF8格式存储在拉丁字段中
字段编码:cp1252 整理:latin1_swedish_ci
内部存储的实际信息看起来像ΠΕ000002
这是一个php应用程序,因此使用SET NAME UTF8
似乎可以解决我的大多数问题!
当然,通过具有惊人选项/功能的SequelPRO浏览数据
数据库>使用编码的视图>通过latin1的UTF8 Unicode似乎可以再次解决该问题!
但是现在该继续前进了,我正在尝试将此mysql移入elasticsearch 而且我认为使用logstash可能真的很容易
我使用了以下直接配置
input {
jdbc {
jdbc_driver_library => "/path/to/drive/mysql-connector-java-8.0.21/mysql-connector-java-8.0.21.jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/database?zeroDateTimeBehavior=convertToNull&useUnicode=true"
jdbc_user => "user"
jdbc_password => "password"
statement => "select customer_no from clients LIMIT 1"
}
}
output {
stdout { codec => rubydebug }
}
(出于演示原因,请注意将输出设置为此,以便能够更快地查看结果,而不是将其发送到ES)
,结果(按预期)与我在数据库中看到的相似,但编码没有任何变化,即:
"customer_no" => "ΠΕ000001",
我尝试使用一些jdbc选项来解决此问题,例如:
columns_charset => {
"customer_no" => "ISO-8859-7"
}
或其他编码,但似乎没有使它按预期工作!
任何想法/建议/指标将不胜感激!
提前谢谢