Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [3]  Все   Вниз
  Печать  
Автор Тема: sqlplus  (Прочитано 73502 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #60 : 27-08-2008 06:20 » new

McZim, setlocale(). Ф-ии стандартной библиотеки должны уметь работать с mb (multi byte)
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #61 : 27-08-2008 06:35 » 

Я просто никак не могу понять что мне нужно Улыбаюсь В общем проблема не влокали, т.е. все буквы отображаются корректно, кракозяблов нет, в посте выше в примере я просто qwerty набирал на русском, поэтому в таком порядке буквы, но они все нормальные Улыбаюсь

сейчас думаю сделать так, проверять полученную строку на содержание в ней русских символов, каждый символ проверять на то является ли он русской буквой, потому как в одной строке могут быть и английские буквы, если символ русский то брать его длину -1, так как для русской буквы в utf-8 отводится 2 байта, а для английской 1.

я туда мыслю?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #62 : 27-08-2008 06:38 » 

Не правильно мыслишь. ASCII - 1 байт, все остальное - 2+ байт. Причем в тексте может не быть ни одной кириллической буквы, но не-ASCII могут присутствовать.

1. Установи локаль.
2. Используй стандартные ф-ии strlen и т.п.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #63 : 27-08-2008 06:39 » 

ок, твои предложения?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #64 : 27-08-2008 11:40 » 

я сейчас работаю так:

отрывок кода

Код:
typedef std::vector<std::string> column_t;
typedef std::vector<column_t> table_t;

table_t m_table;

Код:
std::vector<unsigned int> lengths;

for(unsigned int k = 0; k < m_table.size(); k++)
{
unsigned int len = 0;

        for(unsigned int l = 0; l < m_table[k].size(); l++)
{
if(len < m_table[k][l].length())
{
len = m_table[k][l].length();
}
}

        lengths.push_back(len);
}
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #65 : 27-08-2008 12:19 » 

проблема не в том что я не могу определить длину или корректно напечатать символы, а в том что при прорисовки таблицы, разделители имеют длину в два раза больше нежели это необходимо, я не зря привел пример в посте #59. вот http://picasaweb.google.com/mczimm/NfxadF/photo#5238897000859988066 скрин того что получается, первым запросом видно что длина разделителей намного длиннее полей, что в заголовке что в теле таблицы.

З.Ы.: увеличить можно справа в углу.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Страниц: 1 2 [3]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines