Восстановление базы данных в кодировке utf8 на сервер iso 1 - влияние на строки

Мы переносим нашу базу данных Sybase с кодировкой utf8 на сервер с кодировкой iso 1. Мы просто используем char и Varchar для наших строк. Будет ли выполнение резервного копирования и восстановления не усекать какие-либо строки? Я думал, что Char и Varchar - это просто однобайтовые символы.


person Alan    schedule 20.05.2010    source источник


Ответы (2)


Любые символы вне диапазона ASCII, скорее всего, будут искажены/испорчены при сохранении символов UTF-8 как ISO-8859-1. UTF-8 хранит символы вне диапазона ASCII в нескольких байтах. Я бы предпочел настроить целевую таблицу для использования кодировки UTF-8, поскольку это кодировка сегодняшнего и будущего.

person BalusC    schedule 20.05.2010
comment
К сожалению, у меня нет выбора целевой кодировки :( - person Alan; 21.05.2010

Вы НЕ МОЖЕТЕ перенести данные Unicode в данные ISO-8859. 99,5% символов Unicode не могут быть представлены в ISO-8859. Если в ваших данных есть только символы Latin-1, то это не работает; в противном случае не определено, задохнется ли ваш инструмент миграции, сообщит ли он об успехе, но испортит ваши данные, сохранит ли он то, что возможно, и вставит неправильные символы для символов, которые невозможно представить, пропустит ли он некоторые символы...

Помните, что Unicode содержит десять тысяч символов, а ISO всего 256. То, что вы пытаетесь сделать, может иметь много результатов, но «все работает правильно» не является одним из них.

person Kilian Foth    schedule 20.05.2010