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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataSet и ListBox, проблеммы с кодировкой 
:(
    Опции темы
MasterOfCode
Дата 3.7.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Код

OdbcConnection cnnOra = new OdbcConnection("Driver={Microsoft DBASE Driver (*.dbf)}; DBQ=" + ids.Workspace.PathName);
OdbcCommand cmdOra = new OdbcCommand("select distinct " + comboBox.SelectedItem.ToString() + " from \"" + feature.FeatureClass.AliasName + ".dbf\"", cnnOra);
OdbcDataAdapter daOra = new OdbcDataAdapter(cmdOra);
DataSet dsOra = new DataSet();
try
{
    cnnOra.Open();
}
catch
{
    pRWLog.SetLine("Ошибка подключения к Таблице!");
}
listBox1.DisplayMember = comboBox.SelectedItem.ToString();
listBox1.DataSource = dsOra.Tables["tblIntesect"];


Проблемма такая, в случае текстового поля, в листбоксе закарючки. Что делать?


--------------------
user posted image
PM ICQ   Вверх
jonie
Дата 3.7.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



попробуй добавить явное указание кодировки в строке соединения
например:
Код

блаблабла;codepage=1251

также стоит посмотреть внимательно на кодировку файла...в DBASE IV это 29 байт, если не ошибаюсь...
можно попробывать использовать провайдер  VPF (VisualFoxPro) с указанием кодировки, например:
Код

DRIVER={Microsoft FoxPro VFP Driver (*.dbf)};SourceDB=блаблабла;SourceType=DBF;codepage=OEM;deleted=no



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Bogdan1024
Дата 3.7.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

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



Или сконвертируй текст в нужную кодировку. Посмотри в MSDN "System.Text" и "Encoding".


--------------------
user posted image
PM MAIL   Вверх
MasterOfCode
Дата 4.7.2008, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Файл в кодировке Unicode.
Написал перекодировщик:
Код

public string MyDecoder(string str)
{
    byte[] b = Encoding.Unicode.GetBytes(str);
    str = Encoding.GetEncoding(1251).GetString(b);
    return str;
}


но возвращает такую строку: srt = 'Л\0о\0в\0и\0н\0'
Соответственно все что я не буду делать с этой строкой, мне будет возвращать только первую букву.  Это наверное из-за того что unicode 2хбайтовая кодировка, 1251 однобайтовая. Пробовал кодировщик из хелпа, он возвращает все те же закорючки :(
функции Replace и Remove у str неработают :(

Это сообщение отредактировал(а) MasterOfCode - 4.7.2008, 06:40


--------------------
user posted image
PM ICQ   Вверх
MasterOfCode
Дата 4.7.2008, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Подкорректировал немного функцию:
Код

public string MyDecoder(string str)
{
    byte[] b = Encoding.Unicode.GetBytes(str);
    str = Encoding.GetEncoding(1251).GetString(b);
    string returnString = "";
    for (int i = 0; i < str.Length - 1; i++)
    {
        returnString = returnString + str[i];
        i++;
     }
     return returnString;
}


Возвращает теперь нормальную строку, появился еще один вопрос, есть ли функции аналоги div и mod Pascal'а?


--------------------
user posted image
PM ICQ   Вверх
Idsa
Дата 4.7.2008, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(MasterOfCode @  4.7.2008,  12:47 Найти цитируемый пост)
Возвращает теперь нормальную строку, появился еще один вопрос, есть ли функции аналоги div и mod Pascal'а? 

1 топик - 1 вопрос!
Для целочисленных типов mod - %, а div - /: 
Пример: 
3/2 = 1
4%2 = 0.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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