Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > MySQL5, Delphi7, utf8


Автор: Chpok 18.1.2007, 15:02
Привет!

Ситуация:
Пишу программу на Delphi 7. Программа работает с MySQL 5. Вытаскиваю строку из таблицы (вся база в utf8), и вставляю, как заголовок элемента дерева (TreeView) - получается бяка (каракули).

Вопрос:
Что делать?
Пробывал применять к вытащенным строкам UTF8ToUnicode, UTF8Encode, UTF8Decode...
Уже не знаю, что и пробывать...
Я тут поискал похожие вопросы, но что-то так и не понял ничего((
Кто сталкивался, подскажите.

Автор: skyboy 18.1.2007, 15:19
Chpok, кодировка базы какая? а таблицы? а конкретного столбца? SET NAMES utf8; пробовал перед всеми запросами выполнять?

Автор: Chpok 18.1.2007, 16:16
skyboy, нет, не пробовал.
Я при установке MySQL, указал в мастере настроек, что кодировка для всего - utf8 (смотрел в EMS - так и есть).
То есть, в таком случае бессмысленно выставлять кодировку для каждой таблицы, столбца и так далее...

Автор: kobra 18.1.2007, 16:31
delphi не знает уникода.
можно обоити установкои TNT компонентов. 
Цитата(skyboy @  18.1.2007,  15:19 Найти цитируемый пост)
SET NAMES utf8
 чтобы не мучатся замени фаил My.ini.
можно сделать программу промежуточного слоя, которая будет делать перекодировку (ну и маразм).


Автор: skyboy 18.1.2007, 16:43
Цитата(kobra @  18.1.2007,  15:31 Найти цитируемый пост)
delphi не знает уникода.

забыл. тогда надо SET NAMES cp1251;

Добавлено @ 16:44 
или "SET NAMES win1251;". Не помню, как виндовая кодировка правильно называется...

Автор: Chpok 20.1.2007, 10:49
skyboy, ага, а куда мне вставить этот SET NAMES??

Автор: skyboy 20.1.2007, 11:31
первым запросом, который бросаешь в базу из программы.

Добавлено @ 11:34 
вообще, http://forum.vingrad.ru/act-Search/CODE/show/searchid-24c606512000e6dd56ac482ea1585276/search_in-posts/result_type/topics/flag/search/highlite/set+names/index.htmlдал бы тебе эту информацию намного быстре...

Автор: Chpok 22.1.2007, 12:21
skyboy, слушай, ну не получается smile 
Вставил 
Код

SET NAMES cp1251;
.

Раньше выдавал каракули - теперь вопросики smile 

Пробовал также
SET NAMES koi8r;
SET NAMES utf8;

При вставке строки из базы в TreeView пробовал UTF8Decode, UTF8Encode, UTF8ToAnsi и вообще без преобразований пробовал...

В общем-то я уже не знаю, что пробовать!
Помогите!!!!!

Автор: kobra 22.1.2007, 14:15
1. Способа доступа (ADO, BDE и т.д.)
2. с TNT-шками пробовал?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)