'Wordmove pull error "Invalid byte sequence in UTF-8 (ArgumentError)"

I have Ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux] and when I'm trying to use Wordmove, I'm getting following pull error:

▬▬ ✓ Pulling Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    local | mysqldump --host=localhost --user=USER --password=PASS wpDB > /var/www/local/wp-content/local-backup-1421774302.sql
   remote | mysqldump --host=localhost --user=USER --password=PASS wpDB > /var/www/site/wp-content/dump.sql
   remote | get: /var/www/site/wp-content/dump.sql /var/www/local/wp-content/dump.sql
   remote | delete: /var/www/site/wp-content/dump.sql
    local | adapt dump
/var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/sql_adapter.rb:44:in `gsub!': invalid byte sequence in UTF-8 (ArgumentError)
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/sql_adapter.rb:44:in `serialized_replace!'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/sql_adapter.rb:36:in `replace_field!'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/sql_adapter.rb:25:in `replace_vhost!'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/sql_adapter.rb:17:in `adapt!'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/deployer/base.rb:182:in `adapt_sql'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:35:in `pull_db'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/cli.rb:47:in `block in pull'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/cli.rb:34:in `block in handle_options'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/cli.rb:32:in `each'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/cli.rb:32:in `handle_options'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/lib/wordmove/cli.rb:46:in `pull'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /var/lib/gems/1.9.1/gems/wordmove-1.2.0/bin/wordmove:6:in `<top (required)>'
    from /usr/local/bin/wordmove:23:in `load'
    from /usr/local/bin/wordmove:23:in `<main>'

Other websites run in the very same environment does not show this error. Does anyone have any idea, what can be casuing this error?



Solution 1:[1]

Add

sql_content.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '')
sql_content.encode!('UTF-8', 'UTF-16')
sql_content.force_encoding("UTF-8")

to this File,above the line 45

/root/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/wordmove-2.1.2/lib/wordmove/sql_adapter/default.rb

or this File

/var/lib/gems/2.7.0/gems/wordmove-5.2.2/lib/wordmove/sql_adapter/default.rb

Ref: https://github.com/welaika/wordmove/wiki/invalid-byte-sequence-in-UTF-8-while-pushing---pulling-db

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1