Почему строки оказываются нечитаемыми в базе данных MYSQL? - PullRequest
0 голосов
/ 21 января 2019

Я использую Node JS для создания случайных учетных записей ethereum, и я хотел бы сохранить их в базе данных mysql (да, я знаю, что это плохо, но это не главное). Вставка проходит без ошибок, но когда я смотрю на вставленные данные, она выглядит неузнаваемой.

Я пытался изменить сортировку на различные кодировки, но ничего не помогло. Кроме того, это: res.setHeader ('Content-Type', 'application / json; charset = utf-8');

КОД:

const newAcc = web3.eth.accounts.create();

con.connect(function(err) {
  if (err || !newAcc) throw err;
  console.log("Connected!");

  var sql = 'INSERT INTO eth_accounts (addressEth, privateKeyEth) VALUES 
   ('+newAcc.address+', '+newAcc.privateKey+')';

  con.query(sql, function (err, result, fields) {
  if (err) throw err;
  console.log(result);
  });

  var sql = 'SELECT * FROM eth_accounts';
  con.query(sql, function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
 });

До сих пор я использовал PHP, и каждый раз, когда строка выглядела странно, я просто шлепал , используя команду utf 8 сверху, и она работала бы.

Это сообщение об ошибке, которое я получаю:

???? J ???? m ~? G? Ȓ? L ^ в качестве адреса,?] ?? n? A * j? [| ?? - h ޏ? Gx? _>? {? -? | как ключ ...

1 Ответ

0 голосов
/ 21 января 2019

Для обсуждения комментариев выше, решение состояло в том, чтобы использовать кавычки вокруг строк:

var sql = "INSERT INTO eth_accounts (addressEth, privateKeyEth) VALUES ('"
          + newAcc.address + "', '" + newAcc.privateKey + "')";
...