我被给了一个MySQL数据库的转储,并且希望在MySQL模式下将它加载到H2中。它运作良好,到目前为止除了“用户”表,这已经哈希密码中,并给出了这个错误:插入/替换散列值:“十六进制字符串包含非十六进制字符”
'Hexadecimal string contains non-hex character: "UQ�m������l�a_x";
SQL statement:INSERT INTO `users` VALUES (2,16,'him','UQ�m������l�a_x', ...);
由于它们没有用在这种情况下,我可以与任何其他替代这些十六进制字符串文本值。例如,我可以用sed来做到这一点吗?
我试过这个:sed -e "s/'[\d128-\d255]'//g
但它取代了我文件的95%。
我已经看到了准备JDBC语句的答案,但我没有办法(这些是Play框架的自动应用“演变”)。
使用TR版本,它给现在的“十六进制字符串奇数个字符:‘UQmla_x’” :(但它的工作原理,你回答了这个问题。 – JulienD
尽管它在我的用例中起作用,但我相信在“:punct:”:'[[:alnum:]] | [[:space:]] | [[:punct:]]'附近缺少一个括号。 – JulienD
@JulienD感谢您指出错误。 –