Не удается подключиться к Perforce из PowerBuilder после того, как сервер был изменен на Unicode
Я использую стороннюю службу перформанса, поэтому не могу контролировать среду сервера / конфигурацию. Я работал с PB 12.5 чуть больше года без проблем. Недавно, когда я запустил PB, я получил ошибку, что он не может инициализировать Perforce.
После этой ошибки я попробовал инструмент командной строки Perforce (p4), и когда я вошел в систему с этим, я получил ошибку, предполагающую, что мой набор символов не был совместим с набором символов Unicode сервера. Затем я добавил P4CHARSET=utf8 в свой файл p4config.txt, и это исправило командную строку и другие инструменты Perforce, но я все еще не могу подключиться к PowerBuilder 12.5.
Могу ли я снова подключить PB12.5?
Спасибо за помощь.
2 ответа
Я никогда не использовал Perforce, но я выполнил поиск и нашел кое-что, что могло бы помочь. http://www.perforce.com/perforce/doc.current/user/sccpluginnotes.txt
Новый функционал в 2005 году.
Support for Unicode Servers
It is now possible to use P4SCC.DLL with unicode enabled servers.
See Tech. Note 66 for more information about supported character
sets.
Поэтому, я думаю, вам нужно убедиться, что используемый вами плагин SCC API поддерживает сервер Unicode.
Я могу вспомнить три ситуации, которые могут быть затронуты. Я думаю, что если они переключились на Unicode и PB использует версию DLL ASCII, или указывает ASCII, то это может вызвать проблемы.
Внешние функции
Могут быть определены локальные или глобальные внешние функции, которые конкретно указывают ANSII или Unicode. Пример может быть таким, и его нужно перекомпилировать.
Function ulong GetDriveTypeW (string drive) library "KERNEL32.DLL:ASCII"
Изменить стиль маски
Если в маске используются специальные символы "#" или "a", символы Unicode, пробелы и другие символы, не являющиеся буквенно-цифровыми, не отображаются.
PowerBuilder 10 и выше
Исходный код в Unicode UTF-16LE (Little Endian)