MySQL / NodeJS выбирает где / как японские символы - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть следующий запрос, чтобы выбрать список словаря из японского словаря.

SELECT * FROM dictionary WHERE from_local = 1 AND (word like '%後%' or reading like '%後%')

Запустив эту программу в HeidiSQL, она работает как положено.Я чувствую, что это может быть проблема с кодировкой, но я не думаю, что это сработало бы вообще, если бы это было так.(См. Скриншот)

HeidiSQL screenshot

Моя проблема возникает, когда я пытаюсь выполнить этот запрос в своем приложении Node.js.Результаты возвращаются пустыми.

Я использую библиотеку mysql npm .Метод dbQuery - это вспомогательная функция, которую я сделал ( Pastebin link )

import { dbQuery } from '../db'

const search = async(query) => {
    try {
        let sql = 'SELECT * FROM dictionary WHERE'
        sql += ' from_local = ? AND'
        sql += ' (word = ? OR reading = ?)'
        const params = [1, '%'+query+'%', '%'+query+'%']

        console.log('dictionary DB', {query, sql, params})

        return await dbQuery(sql, params)
    }
    catch(err) {
        console.log('search Error', err)
    }
}

1 Ответ

0 голосов
/ 25 февраля 2019

Soultion Я был глупым

Я забыл изменить = на LIKE в моем запросе

...