Восстановление базы данных в кодировке utf8 на сервере iso 1 - влияние на строки - PullRequest
0 голосов
/ 20 мая 2010

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

Ответы [ 2 ]

0 голосов
/ 20 мая 2010

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

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

0 голосов
/ 20 мая 2010

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

...