В MySql кирилица записывается иероглифами

256
16 декабря 2017, 04:39

Node JS v8.9.1
TypeScript 2.6.1

Вывод команды SHOW VARIABLES LIKE '%char%':

character_set_client       utf8  
character_set_connection   utf8  
character_set_database     utf8  
character_set_filesystem   binary  
character_set_results      utf8  
character_set_server       utf8  
character_set_system       utf8  

Пробую при помощи библиотеки mysql записать данные в базу на хостинге, но кириллица пишется иероглифами, на локальном сервере MySQL все пишется корректно. Все файлы в проекте, подключение к базе и входные данные в UTF-8. Проверил уже всё что мог, но не могу найти причину по которой в базу пишутся иероглифы. Может кто то сможет дать подсказку что еще можно проверить.

Код на котором проводилось тестирование:

import * as mysql from "mysql"
let connection = mysql.createConnection({
    user: "login",
    password: "***",
    database: "bazaname",
    host: "hosting.ru",
    port:3306
})
connection.connect()
connection.query('INSERT INTO `info`(`ordertime`, `ordertimefmt`, `ordertype`, `orderamount`, `orderform`, `ordercode`, `cadnum`, `useripaddr`, `useragent`, `userphone`, `exectime`, `exectimefmt`, `orderstatus`, `uuid`) VALUES ("1513230713158","2017-12-14T00:51:53.158Z","1",-100,"{\\"region\\":\\"Москва\\",\\"city\\":\\"\\",\\"street\\":\\"\\",\\"type_street\\":\\"\\",\\"house\\":\\"\\",\\"apartment\\":\\"\\",\\"t1\\":\\"1\\"}","","66:41:705006:719","192.168.1.123","","81234567890","1513230713158","2017-12-14T00:51:53.158Z",1,"c630f86b-9333-4f02-b980-230dcf945017");')
connection.end()
Answer 1

Нашел рабочий способ, но не знаю насколько он правильный.
Сразу после подключения к БД выполнить запрос SET NAMES utf8 и кириллица будет писаться в нормальном виде.

READ ALSO
Диалоги по типу ВК. Структура БД?

Диалоги по типу ВК. Структура БД?

С двумя собеседниками вроде просто

277
Коллекция из БД в MVVM

Коллекция из БД в MVVM

Есть как я думаю стандартный подход к получению данных из БД

265
Остановка программы Tcp

Остановка программы Tcp

new Thread(new ThreadStart(new Testing_one()Init))

317