I am working with windows 10 universal App and the ARM CPU to create apps for the Raspberry Pi. I get the following error with encoding:
Additional information: ‘windows-1252’ is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
private async void Login(string passcode)
{
try
{
MySqlConnection conn = new MySqlConnection("Server=...");
MySqlCommand cmd;
conn.Open();
cmd = new MySqlCommand("Select * from ...");
var dr = cmd.ExecuteReader();
int count = 0;
while (dr.Read())
count += 1;
var dialog = new MessageDialog((count == 1) ? "Logged In" : "Error");
await dialog.ShowAsync();
}
catch (Exception ex)
{
var dialog = new MessageDialog(ex.Message);
await dialog.ShowAsync();
}
finally { conn.Close(); }
}
}
I get the error in this line of code
dr = cmd.ExecuteReader();
Before I used to get it in
conn.open();
But I was able to solve it by adding
charset=utf8
to the connection string.
How can I solve this error?
- Remove From My Forums
-
Question
-
Hi.
I have a trouble with System.Text.GetEncoding windows-1252 at
windows universal proojectpublic MainPage() { this.InitializeComponent(); Loaded += MainPage_Loaded; } private void MainPage_Loaded(object sender, RoutedEventArgs e) { var encoding = Encoding.GetEncoding("windows-1252"); }
Additional information: ‘windows-1252’ is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
— VS 2015 RC— Win10 10074
-
Edited by
Tuesday, May 5, 2015 5:45 AM
Tagged Subject
-
Edited by
Answers
-
I am afraid the framework subset for Windows Phone doesn’t come with support for Windows-1252. You could use Latin-1 (ISO-8859-1) encoding and manually substituting the characters in the 129-159-range as suggested in the following thread or implement your
own custom encoding:
http://stackoverflow.com/questions/14110730/reading-windows-1252-encoding-in-windows-phone-8var encoding = Encoding.GetEncoding("latin1");
Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don’t ask several questions in the same thread.
-
Marked as answer by
646826
Monday, May 4, 2015 6:07 PM
-
Marked as answer by
I have recently started up a portable Emby server on a Windows 10 machine. Everything works great except the subtitles.
How to reproduce the problem:
- Login to web client
- Select a video file with an external Hungarian subtitle (ending has to be .hun.srt)
- Play
- Select subtitle to show
I would expect the subtitle to display. Instead, no error message appears and there are no subtitles at all.
I have found the following relevant stack trace in the logs:
*** Error Report *** Version: 3.2.33.0 Command line: C:UsersbelidzsembysystemEmbyServer.dll C:UsersbelidzsembysystemEmbyServer.dll Operating system: Microsoft Windows NT 6.2.9200.0 64-Bit OS: True 64-Bit Process: True User Interactive: True Processor count: 4 Program data path: C:Usersbelidzsembyprogramdata Application directory: C:Usersbelidzsembysystem System.ArgumentException: 'windows1252' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. Parameter name: name at System.Globalization.EncodingTable.internalGetCodePageFromName(String name) at System.Globalization.EncodingTable.GetCodePageFromName(String name) at System.Text.Encoding.GetEncoding(String name) at Emby.Server.Implementations.TextEncoding.TextEncoding.GetEncodingFromCharset(String charset) at Emby.Server.MediaEncoding.Subtitles.SubtitleEncoder.<GetSubtitleStream>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.MediaEncoding.Subtitles.SubtitleEncoder.<GetSubtitleStream>d__17.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.MediaEncoding.Subtitles.SubtitleEncoder.<GetSubtitles>d__16.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Api.Subtitles.SubtitleService.<Get>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.Services.ServiceExecGeneral.<Execute>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.Services.ServiceHandler.<ProcessRequestAsync>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.HttpServer.HttpListenerHost.<RequestHandler>d__72.MoveNext() System.ArgumentException at System.Globalization.EncodingTable.internalGetCodePageFromName(String name) at System.Globalization.EncodingTable.GetCodePageFromName(String name) at System.Text.Encoding.GetEncoding(String name) at Emby.Server.Implementations.TextEncoding.TextEncoding.GetEncodingFromCharset(String charset) at Emby.Server.MediaEncoding.Subtitles.SubtitleEncoder.<GetSubtitleStream>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.MediaEncoding.Subtitles.SubtitleEncoder.<GetSubtitleStream>d__17.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.MediaEncoding.Subtitles.SubtitleEncoder.<GetSubtitles>d__16.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Api.Subtitles.SubtitleService.<Get>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.Services.ServiceExecGeneral.<Execute>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.Services.ServiceHandler.<ProcessRequestAsync>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.HttpServer.HttpListenerHost.<RequestHandler>d__72.MoveNext()
(РЕШЕНО)Проблема с MySQL (что-то с кодовой страницей)
Добрый день, это мой первый опыт с базами данных, так что не кидайтесь сразу камнями.
У меня имеется MySQL InnoDB. Пытаюсь написать проектик который дубет с ним работать, но возникла проблема:
— В редакторе все работает нормально, подключается к базе, читает/пишет/обнавляет строки в нужной таблице;
— В сборке ошибка…
Локализуя ошибку выкинул все лишнее, оставшийся код — голый скелет:
Используется csharp
using UnityEngine;
using System;
using System.IO;
using System.Text;
using System.Collections;
using MySql.Data;
using MySql.Data.MySqlClient;
public class New : MonoBehaviour {
string stroka;
MySqlConnection conn;
void Start () {
stroka = «Server=localhost; Database=game; User Id=user; Password=pass;»;
conn = new MySqlConnection(stroka);
conn.Open();
Debug.Log(conn.State);
}
void OnApplicationQuit() {
conn.Close();
Debug.Log(conn.State);
}
}
При работе в редакторе получаю лог:
Open
UnityEngine.Debug:Log(Object)
New:Start() (at Assets/New.cs:18)
Closed
UnityEngine.Debug:Log(Object)
New:OnApplicationQuit() (at Assets/New.cs:24)
Лог сборки — ошибка:
ArgumentException: Encoding name ‘Windows-1252’ not supported
Parameter name: name
at System.Text.Encoding.GetEncoding (System.String name) [0x00000] in <filename unknown>:0
at MySql.Data.MySqlClient.Driver..ctor (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x00000] in <filename unknown>:0
at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x00000] in <filename unknown>:0
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () [0x00000] in <filename unknown>:0
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () [0x00000] in <filename unknown>:0
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
Closed
Умом я понимаю что гдето стоит кодовая страница заподноевропейская, но где не понимая. Направьте пожалуйста на путь истинныйю
Последний раз редактировалось BogdanI 20 ноя 2013, 22:31, всего редактировалось 2 раз(а).
- BogdanI
- UNец
- Сообщения: 6
- Зарегистрирован: 20 ноя 2013, 13:11
Re: Проблема с MySQL (что-то с кодовой страницей)
borr 20 ноя 2013, 14:05
а гугл тебя проигнорировал с этим вопросом?
в строку коннекта свой чарсет добавить пробовал? типа charset=utf8
- borr
- UNIт
- Сообщения: 112
- Зарегистрирован: 01 мар 2013, 09:15
Re: Проблема с MySQL (что-то с кодовой страницей)
Woolf 20 ноя 2013, 14:05
Попробуйте скрипт сам в utf-8 перевести.
Разработчик theFisherOnline
— там, где клюёт
Разработчик Atom Fishing II
— Первая 3D MMO про рыбалку
Разработчик Atom Fishing
— Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
-
Woolf - Адепт
- Сообщения: 7171
- Зарегистрирован: 02 мар 2009, 16:59
Re: Проблема с MySQL (что-то с кодовой страницей)
Woolf 20 ноя 2013, 14:09
Стоп.. а что это у вас:
conn.Close();
Debug.Log(conn.State);
?
Вы же закрыли коннектор методом Close, а это деструктор. Какой стейт вы пытаетесь читать у уже разрушенного объекта?
Разработчик theFisherOnline
— там, где клюёт
Разработчик Atom Fishing II
— Первая 3D MMO про рыбалку
Разработчик Atom Fishing
— Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
-
Woolf - Адепт
- Сообщения: 7171
- Зарегистрирован: 02 мар 2009, 16:59
Re: Проблема с MySQL (что-то с кодовой страницей)
BogdanI 20 ноя 2013, 14:36
borr писал(а):а гугл тебя проигнорировал с этим вопросом?
в строку коннекта свой чарсет добавить пробовал? типа charset=utf8
Да, я Чарсет ставил, в оригинале строка с ним ( это потом я уже уберал все — искал в чем проблема):
stroka = «Server=localhost; Database=game; User Id=user; Password=pass; Charset=utf8»;
Woolf писал(а):Попробуйте скрипт сам в utf-8 перевести.
Да, скрипт сохранён в UTF-8
Woolf писал(а):Стоп.. а что это у вас:
conn.Close();
Debug.Log(conn.State);?
Вы же закрыли коннектор методом Close, а это деструктор. Какой стейт вы пытаетесь читать у уже разрушенного объекта?
Да, сам вижу уже что это странно, но ошибка то задолго до этого возникает. И к тому же и в редакторе и в сборке Debug этот совё сообщение «Close» выводит… странно.
…Да, гуглил я этот вопрос, проблема возникает у некоторых в C#. Причем не только с БД, но и с XML у некоторых — одна и та же ошибка. А вот решения конкретного не приводят.
Последний раз редактировалось BogdanI 20 ноя 2013, 15:14, всего редактировалось 2 раз(а).
- BogdanI
- UNец
- Сообщения: 6
- Зарегистрирован: 20 ноя 2013, 13:11
Re: Проблема с MySQL (что-то с кодовой страницей)
BogdanI 20 ноя 2013, 14:40
MSDN мне поведал что исключение это возникает когда :
name не является допустимым именем кодовой страницы.
-или-
Кодовая страница, указанная с помощью параметра name, не поддерживается используемой платформой.
Но что это за параметр name я не могу понять…
Parameter name: name
at System.Text.Encoding.GetEncoding (System.String name)
http://msdn.microsoft.com/ru-ru/library/t9a3kf7c(v=vs.110).aspx
- BogdanI
- UNец
- Сообщения: 6
- Зарегистрирован: 20 ноя 2013, 13:11
Re: Проблема с MySQL (что-то с кодовой страницей)
BogdanI 20 ноя 2013, 14:56
Добавил в код одну строчку:
Используется csharp
using UnityEngine;
using System;
using System.IO;
using System.Text;
using System.Collections;
using MySql.Data;
using MySql.Data.MySqlClient;
public class New : MonoBehaviour {
string stroka;
MySqlConnection conn;
void Start () {
Encoding.GetEncoding(«UTF-8»);
stroka = «Server=localhost; Database=game; User Id=root; Password=PassRootpass123; Charset=utf8»;
conn = new MySqlConnection(stroka);
conn.Open();
Debug.Log(conn.State);
}
void OnApplicationQuit() {
conn.Close();
Debug.Log(conn.State);
}
}
Вместо Encoding.GetEncoding(«UTF-8») пробовал так же Encoding.GetEncoding(65001).
Ошибка остается та-же:
ArgumentException: Encoding name ‘Windows-1252’ not supported
Parameter name: name
at System.Text.Encoding.GetEncoding (System.String name) [0x00000] in <filename unknown>:0
……..
Но если ставлю Encoding.GetEncoding(1251);
То получаю в сборке ошибку иную (В редакторе все по прежнему работает без нареканий):
NotSupportedException: CodePage 1251 not supported
at System.Text.Encoding.GetEncoding (Int32 codepage) [0x00000] in <filename unknown>:0at New.Start () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
NullReferenceException: Object reference not set to an instance of an object
at New.OnApplicationQuit () [0x00000] in <filename unknown>:0(Filename: Line: -1)
- BogdanI
- UNец
- Сообщения: 6
- Зарегистрирован: 20 ноя 2013, 13:11
Re: Проблема с MySQL (что-то с кодовой страницей)
AlexeiK 20 ноя 2013, 16:41
http://forum.unity3d.com/threads/63364- … ost1142101
попробуй обновить сборку.
или добавь файлы как тут
http://stackoverflow.com/questions/1085 … ed-runtime
ихнии вшитые кодировки сделаны специально.
Используется csharp
public Driver(MySqlConnectionStringBuilder settings)
{
this.encoding = Encoding.GetEncoding(«Windows-1252»);
if (this.encoding == null)
throw new MySqlException(Resources.DefaultEncodingNotFound);
this.connectionString = settings;
this.serverCharSet = «latin1»;
this.serverCharSetIndex = —1;
this.maxPacketSize = 1024L;
this.handler = (IDriver) new NativeDriver(this);
}
видишь, по умолчанию, строка пдоключения создается с этой кодировкой.
Используется csharp
internal const int CodePageASCII = 20127;
internal const int ISO_8859_1 = 28591;
private static volatile Encoding defaultEncoding;
private static volatile Encoding unicodeEncoding;
private static volatile Encoding bigEndianUnicode;
private static volatile Encoding utf7Encoding;
private static volatile Encoding utf8Encoding;
private static volatile Encoding utf32Encoding;
private static volatile Encoding asciiEncoding;
private static volatile Encoding latin1Encoding;
private static volatile Hashtable encodings;
internal int m_codePage;
internal CodePageDataItem dataItem;
[NonSerialized]
internal bool m_deserializedFromEverett;
[OptionalField(VersionAdded = 2)]
internal EncoderFallback encoderFallback;
[OptionalField(VersionAdded = 2)]
internal DecoderFallback decoderFallback;
private static object s_InternalSyncObject;
private const int MIMECONTF_MAILNEWS = 1;
private const int MIMECONTF_BROWSER = 2;
private const int MIMECONTF_SAVABLE_MAILNEWS = 256;
private const int MIMECONTF_SAVABLE_BROWSER = 512;
private const int CodePageDefault = 0;
private const int CodePageNoOEM = 1;
private const int CodePageNoMac = 2;
private const int CodePageNoThread = 3;
private const int CodePageNoSymbol = 42;
private const int CodePageUnicode = 1200;
private const int CodePageBigEndian = 1201;
private const int CodePageWindows1252 = 1252;
private const int CodePageMacGB2312 = 10008;
private const int CodePageGB2312 = 20936;
private const int CodePageMacKorean = 10003;
private const int CodePageDLLKorean = 20949;
private const int ISO2022JP = 50220;
private const int ISO2022JPESC = 50221;
private const int ISO2022JPSISO = 50222;
private const int ISOKorean = 50225;
private const int ISOSimplifiedCN = 50227;
private const int EUCJP = 51932;
private const int ChineseHZ = 52936;
private const int DuplicateEUCCN = 51936;
private const int EUCCN = 936;
private const int EUCKR = 51949;
private const int ISCIIAssemese = 57006;
private const int ISCIIBengali = 57003;
private const int ISCIIDevanagari = 57002;
private const int ISCIIGujarathi = 57010;
private const int ISCIIKannada = 57008;
private const int ISCIIMalayalam = 57009;
private const int ISCIIOriya = 57007;
private const int ISCIIPanjabi = 57011;
private const int ISCIITamil = 57004;
private const int ISCIITelugu = 57005;
private const int GB18030 = 54936;
private const int ISO_8859_8I = 38598;
private const int ISO_8859_8_Visual = 28598;
private const int ENC50229 = 50229;
private const int CodePageUTF7 = 65000;
private const int CodePageUTF8 = 65001;
private const int CodePageUTF32 = 12000;
private const int CodePageUTF32BE = 12001;
вот все числовые коды для кодировок.
object obj1 = (object) this.serverProps[«character_set_client»];
object obj2 = (object) this.serverProps[«character_set_connection»];
вотп раметры для вставки в строку подключения для управления кодировкой.
а так как mysql не может найти кодировку, походу рядом с его dll нету i18n или какой нужно( я не знаю) .
надо смотреть mscorlib.dll для mono.
Последний раз редактировалось AlexeiK 20 ноя 2013, 16:51, всего редактировалось 1 раз.
- AlexeiK
- UNец
- Сообщения: 13
- Зарегистрирован: 18 ноя 2013, 11:55
Re: Проблема с MySQL (что-то с кодовой страницей)
BogdanI 20 ноя 2013, 16:50
Ага, похоже то что надо. Как доберусь до компьютера, попробую.
- BogdanI
- UNец
- Сообщения: 6
- Зарегистрирован: 20 ноя 2013, 13:11
Re: Проблема с MySQL (что-то с кодовой страницей)
BogdanI 20 ноя 2013, 22:30
Спасибо AlexeiK, все оказалось еще проще, мне даже стыдно.
Почитал то что Вы дали и нашел решение —
http://forum.unity3d.com/threads/63364- … post406419
Просто добавил файлы I18N.West.dll и I18N.dll к себе в проект. А лежат они, вдруг кому понадобятся, C:Program FilesUnityEditorDataMonolibmonounity
И еще, пока искал решение свой проблемы нашел интересную статью по кодировкам в MySQl, возможно кому-то будет полезно.
http://habrahabr.ru/post/10983/
- BogdanI
- UNец
- Сообщения: 6
- Зарегистрирован: 20 ноя 2013, 13:11
Вернуться в Почемучка
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и гости: 20