Ошибка кодировки в FirebirdSql

Опубликовано Vladimir - вт, 25.11.2008 - 16:01

Добавить комментарий

Содержимое данного поля является приватным и не предназначено для показа.

Filtered HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <p> <br><b><i> <img src alt height width>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Причины сбоя в работе адаптера FirebirdSql

1. Ругается на японскую кодировку shift_jis

System.TypeInitializationException: An exception was thrown by the type initializer for
FirebirdSql.Data.Common.Charset ---> System.ArgumentException: Encoding name 'shift_jis'
not supported
Parameter name: name
at System.Text.Encoding.GetEncoding (System.String name) [0x00000] 
at FirebirdSql.Data.Common.Charset.GetEncoding () [0x00000] 
at FirebirdSql.Data.Common.Charset..ctor (Int32 id, System.String name, Int32
bytesPerCharacter, System.String systemName) [0x00000] 
at FirebirdSql.Data.Common.Charset.Add (System.Collections.Generic.List`1 charsets, Int32 id,
System.String charset, Int32 bytesPerCharacter, System.String systemName) [0x00000] 
at FirebirdSql.Data.Common.Charset.InitializeSupportedCharsets () [0x00000] 
at FirebirdSql.Data.Common.Charset..cctor () [0x00000] --- End of inner exception stack trace

Причина: Не работают или не установлены библиотеки глобализации mono (libmono-i18n2.0-cil)

Решение: Устанавливаем моудль apt-get install libmono-i18n2.0-cil

2. Ошибка корейской кодировки ks_c_5601

System.TypeInitializationException: An exception was thrown by the type initializer for
FirebirdSql.Data.Common.Charset ---> System.ArgumentException: Encoding name
'ks_c_5601-1987' not supported
Parameter name: name
at System.Text.Encoding.GetEncoding (System.String name) [0x00000] 
at FirebirdSql.Data.Common.Charset.GetEncoding () [0x00000] 
at FirebirdSql.Data.Common.Charset..ctor (Int32 id, System.String name, Int32
bytesPerCharacter, System.String systemName) [0x00000] 
at FirebirdSql.Data.Common.Charset.Add (System.Collections.Generic.List`1 charsets, Int32 id,
System.String charset, Int32 bytesPerCharacter, System.String systemName) [0x00000] 
at FirebirdSql.Data.Common.Charset.InitializeSupportedCharsets () [0x00000] 
at FirebirdSql.Data.Common.Charset..cctor () [0x00000] --- End of inner exception stack trace

Причина: Похоже dll, которую мы пытаемся использовать скомпилирована с ключем NET - то есть специально для .NET версии

Решение: Перекомпилируем DLL