Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2015, 18:51   #1
Conejo
Пользователь
 
Регистрация: 20.09.2015
Сообщений: 22
По умолчанию Английская винда. В эксель выгружаются вопросы вместо русских букв

Есть база данных, информация в ней на русском, что довольно естественно.
Моя программа выгружает операторам данные в эксель на обработку, а после обработки загружает обратно. Все было хорошо до сегодняшнего дня. Появился новый оператор, у него английская Win10. Интерфейс я уже перевела, но столкнулась с большой проблемой - в выгрузке отображаются знаки вопроса вместо данных из базы. (При этом она сама без проблем может писать в том же экселе по-русски!)
Это еще пол-беды. Я могу делать ей автоматическую выгрузку файла например через свою машину, но заливать обработанную порцию она должна сама (там нужны некоторые доп.действия). И вот на этом этапе тоже есть проблема совместимости - данные в базу не попадают, если они в файле по-русски. Цифры есть, а вместо букв - Null.
Есть ли способ решить проблему? Ну в смысле, небольшим изменением в самой программе (м.б. помогла бы локализация винды, но 1) Она не горит желанием ее ставить, 2) Версия системы - Home, т.е. наверно вообще нельзя?) На всякий случай напомню, вводить русские буквы с клавиатуры она может, и в скайпе и в экселе, т.е. в принципе как-то комп русский поддерживает...
Изображения
Тип файла: jpg IMG_11112015_144700.jpg (51.8 Кб, 132 просмотров)
Conejo вне форума Ответить с цитированием
Старый 11.11.2015, 19:11   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Вариант
1) Панель управления\Часы, язык и регион\Язык-> добавить язык-> Русский
2) Установить в систему свой шрифт. И им выводить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 11.11.2015, 19:44   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут добавление языка? Скорее где-то там же в дополнительных настройках поставить русскую locale (там еще в описании сказано, что это для не-юникод программ).

Дельфи-то какая версия? С 2009+ по умолчанию везде юникод, в старых нет, поэтому могут возникать подобные проблемы если не предпринять определенных действий для решения (зависит от конкретного кода/компонента/библиотеки).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.11.2015, 19:47   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
в выгрузке отображаются знаки вопроса вместо данных из базы.
юникод нада, к гадалке не ходи.
как, где, чем, кем формируются данные для передачи в ёксель?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.11.2015, 11:40   #5
Conejo
Пользователь
 
Регистрация: 20.09.2015
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Дельфи-то какая версия? С 2009+ по умолчанию везде юникод, в старых нет, поэтому могут возникать подобные проблемы если не предпринять определенных действий для решения (зависит от конкретного кода/компонента/библиотеки).
Delphi 7.
Какие действия можно предпринять?
Да, теоретически я могу сделать всю обработку в самой программе, без использования экселя, не хотелось бы конечно тратить время, но... Но и в интерфейсе программы русские буквы тоже не отображаются.

Цитата:
юникод нада, к гадалке не ходи.
как, где, чем, кем формируются данные для передачи в ёксель?
А как сделать чтобы использовался юникод?
Смысл второй части вопроса не допонимаю, поэтому может ответ неправильный - данные выгружаются из DataSet, формируются посредством ADOQuery (это не то, что хотели услышать?). Сама база MS SQL 2012.
Conejo вне форума Ответить с цитированием
Старый 12.11.2015, 11:48   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Говорю ж, зависит от конкретного кода/компонента/библиотеки.

Использовать WideString вместо AnsiString и т.п.

Про интерфейс программы, все стандартные компоненты в старых Дельфях не юникодовые. Так что либо ставить русскую локаль в настройках ОС, либо брать другие компоненты (например http://www.wikitaxi.org/delphi/doku....controls/index), либо 2009+ Дельфи.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.11.2015, 13:09   #7
Conejo
Пользователь
 
Регистрация: 20.09.2015
Сообщений: 22
По умолчанию

Ясно. Либо оператор ставит русскую локаль, либо ищем другого оператора. Возиться с программой не оправданно.
Всем спасибо!
Conejo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
каракули вместо русских букв tresh HTML и CSS 20 21.10.2014 19:17
Вместо русского текста символы - после переустановки Windows в файлах мусор вместо русских букв. МАРИННН Windows 14 13.10.2013 08:53
Пустота вместо русских букв MrBrain WordPress и другие CMS 1 02.06.2013 00:10
Вместо русских букв восточные иероглифы alexandros Microsoft Office Word 3 28.12.2010 15:22
Знаки вопроса вместо русских букв Voody Работа с сетью в Delphi 8 23.06.2009 22:27