Текст «€œ € ç ™ ½ç — ´çš„ éƒ¨é • ¿ï¼æœ € åŸºæœ¬çš „¸¸¸¸è¯ † ŒŒŒé €»"это то, что вы получаете, если" отправляется в кодировке UTF-8, но затем читается и декодируется как набор символов windows-1252.
ТамЕсть несколько разных мест, где может произойти неправильное декодирование:
- От клиента до приложения, записывающего в базу данных при первом добавлении данных
- Между приложением и MySQL при добавленииdata
- Через изменение конфигурации в MySQL, которое не было применено правильно.
- Между MySQL и приложением, читающим данные.
- Между приложением и конечным клиентом, отображающимданные для вас.
Для расследования я предлагаю быть систематическим.Начните с доступа к данным с помощью других инструментов, например, PHPMyAdmin или командной строки mysql в Cloud Shell.Если вы видите правильные данные, вы знаете, что проблема (4) или (5).Если база данных определенно содержит неверные данные, то это (1), (2) или (3).
Самое распространенное место возникновения этой ошибки - (5), поэтому я пойдув это немного больше.Это потому, что часто веб-сайты устанавливают набор символов на что-то неправильное или нет вообще.Чтобы это исправить, мы должны сделать набор символов явным.Вы можете сделать это в express.js, добавив:
res.set('Content-Type', 'text/plain; charset=utf-8')