Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировки koi-8 и utf-8 
:(
    Опции темы
starostin
Дата 15.10.2010, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.9.2009
Где: Ярославль

Репутация: нет
Всего: 1



Нужна помощь, ситуация такая: есть база в PostgreSQL, она в кодировке KOI-8, делали её до меня так что я с этим ничё поделать не могу, соответственно когда делаю запрос в цивилизованном utf-8 мне приходит всякая матершина. Долго копался искал примеры, но ничего не выходит, вот  как делаю я:

Код

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (e.ColumnIndex == 2)
            {
                string str = e.Value.ToString();
                Encoding myEncode = Encoding.UTF8;
                Encoding unicode = Encoding.Unicode;
                byte[] unicodeBytes = unicode.GetBytes(str);
                byte[] ut8Bytes = Encoding.Convert(unicode, myEncode, unicodeBytes);
                char[] utf8Chars = new char[myEncode.GetCharCount(ut8Bytes, 0, ut8Bytes.Length)];
                myEncode.GetChars(ut8Bytes, 0, ut8Bytes.Length, utf8Chars, 0);
                string utfString = new string(utf8Chars);
                e.Value = utfString;
                e.FormattingApplied = true;
        
            }
       }

Собсна что приходит в функцию, то из неё и выходит, что я упустил? Буду безмерно благодарен если поможите

PM MAIL ICQ Skype GTalk Jabber MSN   Вверх
sCreator
Дата 19.10.2010, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 20.8.2009
Где: Московская област ь

Репутация: нет
Всего: 5



Цитата(starostin @  15.10.2010,  15:53 Найти цитируемый пост)
делали её до меня так что я с этим ничё поделать не могу

А почему не можете?
С помощью pg_dump.exe можно сделать бекап базы в текстовый файл в виде SQL скриптов. Поменять кодировку, создать новую базу в нужной кодировке и залить ее из бекапа например с помощью pgsql.exe. ( точные параметры командной строки сейчас уже не помню )
PM   Вверх
starostin
Дата 27.10.2010, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.9.2009
Где: Ярославль

Репутация: нет
Всего: 1



а опытом это проверено? не внесёться ли в новую базу с другой кодировкой, всё такой же ахинеей как и выводиться в моём приложении
PM MAIL ICQ Skype GTalk Jabber MSN   Вверх
jonie
Дата 27.10.2010, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



так вы конвертируете UTF-16 to UTF-8 чтоб вы хотели...

Ниже пример чтения файла в KOI8-R
Код

 using (var fs = new FileStream(@"c:\temp\koi8text.txt", FileMode.Open))
            {
                using (TextReader tr = new StreamReader(fs, Encoding.GetEncoding(20866)))
                {
                    string line = tr.ReadLine();
                    Console.WriteLine("{0}", line);
                }
            }

вам надо делать точно так же (в плане Encoding.GetEncoding....)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.