Выполнение обновления для MySQL с двойным байтом делает поле неверной строкой

MySQL установлен как UTF-8 (utf8_general_ci: MySQL, таблица, столбец). Я могу выбрать значение varchar как оригинальный двухбайтовый символ через ADODB а также ASP (Legacy VB Script). Эти символы вставляются из phpMyAdmin.

ASP-страницы сохраняются как encoding Shift_JIS и параметр соединения ADODB обозначается как dsn=...;APP=ASP Script; STMT=SET CHARACTER SET SJIS;

Но когда я обновлю поле из ASP, обновленная строка varchar не имеет двухбайтового символа NO (опущен), но имеет однобайтовый символ в phpMyAdmin.

Как исправить проблему с обновлением / вставкой? Я пытался изменить кодировку MySQL на sjis, но это не решило проблему.

1 ответ

Решение

Я мог бы решить проблему. Причина маршрута в SQL.

ОБНОВЛЕНИЕ пользователей SET name = N'aaaa' WHERE id = N'BBB ';

Это 'N' делает персонажей борокенами. Я использовал программу ASP с английской версией MS-SQL Server, и это 'N' должно быть прикреплено. Я должен удалить все эти N при переходе на MySQL из MS-SQL!

Другие вопросы по тегам