Очень просто. Если весь текст в юникоде, то ничего не мешает писать рядом и кириллицу и китайские иероглифы
Но текст та не кириллица и не китайский, а литинеца. Откуда вообще не латиница берется?
базу так заполнили
Не, открываю тоже самое с DBeaver - и там все как надо.
а на скрине в чем открыто?
надо смотреть кодировки полей таблицы, может, драйверу субд нужно правильную опцию передать
как получить в юникоде совсем другие символы предположить можно - если при чтении потока пропустить один байт, например, и все коды символов сместятся на этот самый байт
DBGrid и VirtualDBGrid от лазаря. Да и просто "Showmessage(sqlquery1.FieldByName(sqlquery1.FieldDefs.Items[3].Name).AsString); " выдает ироглифы.
а там, где китайские иероглифы, должна быть кириллица?
у меня подозрение, что ascii-поле открыли с кодировкой utf-16
я тоже так подумал. Но если там латинские символы, то они должны были по-идее нормально прочитаться
Тут прикол, что столбец левее нормальный.
не, в utf-16 латиница тоже двухбайтная
ок, то я значит уже подзабыл...
а исходник вообще что из себя представляет? DBF-файл?
Ну, если в DBeaver все норм отображается, значит надо смотреть настройки коннектора или соответствие версий коннектора MySQL, я так думаю
Или для дальнейшего исследования попробовать прочитать данные поля побайтово, сохранить в файл и попробовать распознать кодировку при помощи того же notepad++, к примеру
ок, буду искать. спасибо всем
неверная кодировка всё еще у тебя
попробуй AsWideString
да не, столбцы левее ведь нормальный. Думаю это драйвер виноват, так как для правого столбца я substring и JSON_EXTRACT использую.
Обсуждают сегодня