У меня есть файл DBF, который закодирован как Windows-ANSI (кодовая страница Windows 1252).Я использую драйвер ODBC для импорта этого файла в виде таблицы в базу данных SQL Server.Когда я теряю некоторую информацию о символах.
Сначала, чтобы убедиться, что файл DBF был закодирован, как и ожидалось, я открыл файл с помощью шестнадцатеричного редактора и искал соответствующий символ.Это «маленькая буква» на кодовой странице 1252, и она была сохранена в файле размером 0x95, поэтому, по крайней мере, для этого символа кодировка выглядит так, как ожидалось.
Я выполнил поиск и нашел кого-тосказав, что импорт в nvarchar в отличие от столбца varchar будет иметь значение, поэтому, когда я выполнял импорт, я повторно сопоставил столбец, содержащий проблемный символ, с nvarchar.
База данных, в которую он импортирован, имеетсопоставление «SQL_Latin1_General_CP1_CI_AS» и на странице, которую я прочитал в MSDN, «CP1» указывает, что это должно быть эквивалентно кодовой странице Windows 1252.
Когда я выполняю импорт, символ импортируется как 0xf2 или 0x5625.Я не нашел никаких причин относительно того, почему разные импорты в этот момент.
Кто-нибудь сталкивался с такой проблемой?Что вы сделали, чтобы решить это?Что-нибудь, что я должен изучить или попробовать, что у меня еще нет?