Skip to content
This repository has been archived by the owner on Oct 3, 2024. It is now read-only.

Переход на UNICODE #44

Open
alex-ac opened this issue Mar 28, 2012 · 3 comments
Open

Переход на UNICODE #44

alex-ac opened this issue Mar 28, 2012 · 3 comments
Assignees
Labels

Comments

@alex-ac
Copy link
Contributor

alex-ac commented Mar 28, 2012

Для упрощения жизни в дальнейшем (и уже сейчас) нужно перевести всё на UNICODE.
Для этого нужно:

  • Заменить везде std::string на std::wstring;
  • std::stringstream на std::wstringstream;
  • char (встречаются местами) на wchar_t;
  • разобраться с вводом/выводом (проверка кодировки потока, использование iconv для устранения проблем), скорее всего проще будет написать простейшую обертку для потоков);

Также в будущем (думаю относительно далеком) не мешало бы перевести все на libgettext.

@ghost ghost assigned alex-ac Mar 28, 2012
@aterga
Copy link
Member

aterga commented Mar 28, 2012

По всем пунктам согласен. Надо еще оценить преимущества языковой поддержки Qt.

On 28.03.2012, at 22:37, Alexander wrote:

Для упрощения жизни в дальнейшем (и уже сейчас) нужно перевести всё на UNICODE.
Для этого нужно:

  • Заменить везде std::string на std::wstring;
  • std::stringstream на std::wstringstream;
  • char (встречаются местами) на wchar_t;
  • разобраться с вводом/выводом (проверка кодировки потока, использование iconv для устранения проблем), скорее всего проще будет написать простейшую обертку для потоков);

Также в будущем (думаю относительно далеком) не мешало бы перевести все на libgettext.


Reply to this email directly or view it on GitHub:
https://github.com/alex-ac/UniSched/issues/44

@alex-ac
Copy link
Contributor Author

alex-ac commented Mar 29, 2012

Сделано в 284bbb.

  • Не стал решать проблемы в сборке cli и yaml --- боюсь запутаться;
  • Проблему сборки sqlite-storage решу в ближайшее время;
  • Переделал тесты и DummyUI, чтобы было на что смотреть при работе.

Особенности и рекомендации:

  • Используйте std::wstring и wchar_t;
  • Внутренняя кодировка --- UTF-32 для преобразования в/из системную используйте utils::iconv;
  • Для консольного ввода/вывода лучше используйте std::w{cin,cout,cerr,clog}, их не многобайтовые аналоги тоже должны работать, но не обязаны.

@alex-ac alex-ac closed this as completed Mar 29, 2012
@cra cra reopened this Mar 30, 2012
@cra
Copy link
Member

cra commented Mar 30, 2012

Добавь всё это в FAQ.md и README.md

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants