Windows 1252 is not a supported encoding name

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

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  prooject

            public 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

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-8

    var 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

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:

  1. Login to web client
  2. Select a video file with an external Hungarian subtitle (ending has to be .hun.srt)
  3. Play
  4. 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>:0

at 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



Понравилась статья? Поделить с друзьями:
  • Windows 1251 сколько байт на символ
  • Windows 1251 кодировка что это такое
  • Windows 1251 или utf 8 что лучше
  • Windows 1251 to utf 8 pdf
  • Windows 1251 is not a supported encoding name