У меня есть сервер базы данных другой страны в SQL Server.Они имеют разные параметры сортировки.
- Параметры сортировки базы данных Тайваня: Chinese_Taiwan_CI_AS (CP950)
- Параметры сортировки базы данных Японии: Japanese_CI_AS (CP932)
Вызов хранимой процедуры с использованиемoledb, и проект C ++ преобразует строку в данные UTF-8 и отправляет ее.Параметр хранимой процедуры имеет тип varchar
.
Я знаю, что эта проблема кодирования заключается в том, что кодовые страницы UTF-8 и CP950 или CP932 не совпадают.Но есть разница при чтении и декодировании данных в проекте C ++.
Даже с одной и той же ломаной строкой японский язык можно декодировать обычным образом, но китайские слова декодируются с вопросительными знаками или ломаной строкой.
Почему они так работают?
Пожалуйста, помогите мне ....