Xamarin - данные об ошибке кодирования 1252 не найдены - PullRequest
0 голосов
/ 29 мая 2018

Я работаю над приложением в Xamarin для Visual Studio 2017.Я пытаюсь протестировать свое приложение на устройствах Android и iOS live player.Когда я пытаюсь запустить его, на моем устройстве появляется следующая ошибка (Android и iOS):

Уровень = Ошибка, Заголовок = Ошибка визуализации, Сообщение = Кодирование 1252 данных не удалосьбыть найденным.Убедитесь, что у вас установлена ​​и включена правильная сборка международного кодового набора.(NotSupportedException)

Я обнаружил похожие проблемы при поиске Google, но после внесения изменений он все равно не запустится.Я проверил все параметры интернационализации для обоих устройств и даже сохранил напрямую как кодировку UTF-8, так как полагал, что это может быть проблема с кодировкой windows-1252.Я также сослался с I18N.dll на I18N.West.dll для обоих.

Любая помощь будет принята с благодарностью.Спасибо.

Обновление:

Мне удалось еще больше сузить проблему.

using (SqlConnection sqlConn = new 
 SqlConnection(Configuration.ConnectionString))
{
    //sqlConn.Open(); 
}

.open вызываетошибка кодирования.После его комментирования приложение будет работать на работающем устройстве, однако теперь я получаю:

Уровень = Ошибка, Заголовок = Неопределенное исключение, Сообщение = Кодировка 1252 данных не найдены.Убедитесь, что у вас установлена ​​и включена правильная сборка международного кодового набора.(NotSupportedException)

И Visual Studio 2017 выдает следующую ошибку

System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова.

в

using (SqlConnection sqlConn = new 
SqlConnection(Configuration.ConnectionString))

Это происходит в тот момент, когда он пытается извлечь данные из базы данных в приведенном выше операторе using.Я использую SQL Server 2008 R2.Все, что я могу сказать, это то, что у него есть проблема с отправкой и получением с SQL Server с Android и iOS.

Обновление 2:

После использования некоторого Exception Handlers я свел его к следующему внутреннему исключению:

{System.NotSupportedException: кодировка 1252 данных не найдена.Убедитесь, что у вас установлена ​​и включена правильная сборка международного кодового набора.в System.Text.Encoding.GetEncoding (кодовая страница System.Int32) [0x0023f] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 в Mono.Data.Tds.TdsCharset.GetEncodingFromSortOrder (сортировка): 0 0.Tds.TdsCharset.GetEncodingFromSortOrder (сопоставление System.Byte []) [0x00006] в: 0 в Mono.Data.Tds.TdsCharset.GetEncoding (сопоставление System.Byte []) [0x00008] в: 0 в Mono.Data.Tds.Protocol.Tds.ProcessEnvironmentChange () [0x00229] в: 0 в Mono.Data.Tds.Protocol.Tds.ProcessSubPacket () [0x00129] в: 0 в Mono.Data.Tds.Protocol.Tds.NextResult () [0x00039]в: 0 в Mono.Data.Tds.Protocol.Tds.SkipToEnd () [0x00000] в: 0 в Mono.Data.Tds.Protocol.Tds70.Connect (Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters) [0x0058e]в: 0 в Mono.Data.Tds.Protocol.Tds80.Connect (Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters) [0x00000] в: 0 в System.Data.SqlClient.SqlConnection.Open () [0x00245] в <868a6461786e4884ac572c5e90a6b7fd>: 0 в System.Data,Data.DataTable [] datatables, System.Int32 startRecord, System.Int32 maxRecords, System.String srcTable, команда System.Data.IDbCommand, поведение System.Data.CommandBehavior) [0x0002d] в <868a6461786e4884ac572c5data.Common.DbDataAdapter.Fill (System.Data.DataSet dataSet, System.0в System.Data.Common.DbDataAdapter.Fill (System.Data.DataSet dataSet) [0x00029] в <868a6461786e4884ac572c5e90a6b7fd>: 0 в (управляемая оболочкой управляемая) System.Reflection.MonoMethod: InternalInvolection (System.RoF).object, object [], System.Exception &) в System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object [], параметры System.Globalization.CultureInfoкультура) [0x00032] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0}

, который происходит в:

DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...