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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с русской кодировкой 
:(
    Опции темы
Sevenfold
Дата 3.5.2006, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.5.2006

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



Я новичок в программировании начал изучать Visual C++ 6.0, проблема такая: Делаю file - new - C++ Source File, пишу прогу, компилирую, а русский текст кракозябрами идет. Как мне исправить кодировку текста? smile  
PM MAIL   Вверх
darthnick
Дата 3.5.2006, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.5.2006

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



CharToOem - не помогает? 
PM MAIL   Вверх
Sevenfold
Дата 3.5.2006, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.5.2006

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



CharToOem поможет, а в самом компиляторе нет никакой опции? 
PM MAIL   Вверх
cozzzy
Дата 3.5.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

#include "stdafx.h"
#include <locale.h>

int main(void)
{
    _wsetlocale (LC_ALL, L".866");
    std::wcout << L"Превед" << std::endl;
}

 
PM MAIL   Вверх
likehood
Дата 3.5.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

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



cozzzy, я не совсем понял зачем нужен вызов _wsetlocale (LC_ALL, L".866");
Или консоль не знает что такое unicode? 
PM MAIL   Вверх
Romikgy
Дата 3.5.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(baronp @  3.5.2006,  10:00 Найти цитируемый пост)
Или консоль не знает что такое unicode? 

консоль работает с кодовой страницей 866, а текст ты набираешь (русский ) в странице 1251, отсель глюк smile

Цитата(baronp @  3.5.2006,  10:00 Найти цитируемый пост)
 _wsetlocale (LC_ALL, L".866");

по логике надо на 1251 страницу переходит smile  


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
likehood
Дата 3.5.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

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



Цитата(Romikgy @  3.5.2006,  11:56 Найти цитируемый пост)
консоль работает с кодовой страницей 866, а текст ты набираешь (русский ) в странице 1251, отсель глюк 

а если использовать unicode? имхо, уникод он и в африке уникод smile  
PM MAIL   Вверх
Romikgy
Дата 3.5.2006, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(baronp @  3.5.2006,  11:01 Найти цитируемый пост)
а если использовать unicode? 

можно и его , если есть желание smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
likehood
Дата 3.5.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

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



я делаю примерно так:
Код

#define UNICODE
//...
TCHAR msg[] = TEXT("краказябка");
wprintf(TEXT("%s\n"), msg);

Выводится пустая строка. Если строку написать на инглише, выводит строку как есть. Нафига тогда нужен wprintf? 
PM MAIL   Вверх
koljan
Дата 3.5.2006, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


VIP
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 18.12.2005
Где: г.Архангельск

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



Код

#include <iostream>
#include "StdAfx.h"
#include <locale.h>
using namespace std;
int main(void)
{
    _wsetlocale (LC_ALL, L".866");
    //std::wcout << L"Превед" << std::endl;
    wcout<<L"колян\n";
}

всё просто класно нормально работают русские буквы 


--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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