Invalid characters for a wallet name, e.g. `bitcoin-qt -wallet=你好` used to result in an error like this

<img width="494" alt="schermafbeelding 2018-07-24 om 17 46 37" src="https://user-images.githubusercontent.com/10217/43150553-7bdf598a-8f6a-11e8-8972-44c311a57e56.png">

But now it just crashes:

<img width="509" alt="schermafbeelding 2018-07-24 om 17 43 26" src="https://user-images.githubusercontent.com/10217/43150605-9cf32192-8f6a-11e8-9333-87d074c8dd35.png">

I didn't do a `git bisect`, but it broke somewhere this year :-)
const uint32_t nSequence = coin_control.m_signal_bip125_rbf.get_value_or(m_signal_rbf) ? MAX_BIP125_RBF_SEQUENCE : (CTxIn::SEQUENCE_FINAL - 1);
        for (const auto& coin : selected_coins) {
            txNew.vin.push_back(CTxIn(coin.outpoint, CScript(), nSequence));
        }
        if (sign)
        {
            int nIn = 0;
            for (const auto& coin : selected_coins)
            {
                const CScript& scriptPubKey = coin.txout.scriptPubKey;
                SignatureData sigdata;
                if (!ProduceSignature(*this, MutableTransactionSignatureCreator(&txNew, nIn, coin.txout.nValue, SIGHASH_ALL), scriptPubKey, sigdata))
                {
                    strFailReason = _("Signing transaction failed");
                    return false;
                } else {
                    UpdateInput(txNew.vin.at(nIn), sigdata);
                }
                nIn++;
            }
        }
        
        tx = MakeTransactionRef(std::move(txNew));
        
        if (GetTransactionWeight(*tx) > MAX_STANDARD_TX_WEIGHT)
        {
            strFailReason = _("Transaction too large");
            return false;
        }
    }