![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Помогите разобратся с кодировкой. Выполняю запрос
сайт в кодировки utf-8 В базу данных заносятся ??? за место русских символов (( Перепробовал уже множество различных кодировок, нашел кучу разных функций но ни что мне не помогло ((( |
|||
|
||||
ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Пробуй string на WideString поменять, раз ты с UTF8 работаешь, иначе смысла в этом UTF8 нету. |
|||
|
||||
MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Не помогло
|
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Версия делфи какая?
ааа... так в url надо HTTPEncode из HTTPApp какой-нибудь делать для русских символов. Ну или TIdURI.URLEncode, если indy используешь. Это сообщение отредактировал(а) MetalFan - 9.9.2011, 15:15 -------------------- There are always someone smarter than you... |
|||
|
||||
MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Использую indy версия дельфи 2010 |
|||
|
||||
ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Тогда попробуй RawByteString, должно вернуть то что есть полюбому, хотя WideString тоже точно работать должен. Это сообщение отредактировал(а) ZBugz - 11.9.2011, 18:42 |
|||
|
||||
MrDmitry |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Теперь за место ??? в бд записывается фф
Добавлено через 1 минуту и 16 секунд
проблема в том что у меня возвращается нормально. А вот записывается в бд не правильно. Если я в бд в ручную изменю данные на русские символы то возвращается как надо и со string |
||||
|
|||||
ZBugz |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Дык это пробелма в БД уже, раз функция возвращает все верно. Пиши код БД чтоли...
Это уже потому что в БД не понимает RawByteString. Единственyое что мона попробывать это привести к String (ANSI) принудительно в самой БД или при передачи в нее. Добавлено через 4 минуты и 12 секунд Вот такой с такой же проблемой я боролся с cmd (он же paramstr), там до сих пор ansi используется, только мне из Ansi в Unicode надо было перевести. Пришлось извратится:
Иначе тоже получал белеберду. Это сообщение отредактировал(а) ZBugz - 11.9.2011, 19:56 |
||||||
|
|||||||
MrDmitry |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Код самой бд я не знаю, т.к её разрабатывал не я и прямого доступа к ней у меня нет, все что есть это транзакция вида
http://mysayte.ru/index.php?action=2&s...irth=01.01.1901 Сайт и сама бд mysql в кодировки utf-8 поля name, surname, patronymic - utf8_general_ci Добавлено через 4 минуты и 32 секунды
твой код ругается на CopyDataStruct. Что нужно дописать в uses? |
||||||||
|
|||||||||
MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
В общем сделал банальный перевод русских символов на транслит.
Спасибо всем за помощь |
|||
|
||||
ZBugz |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Это кусок кода, там это дал для смысла...
Видимо передача просиходит через Dll, а он судя по всему тока ansi понимает. Кстати распространенная проблема с dll, если писал кто нить давно или она стороняя и не поддердивается больше.
Ну тоже вариант |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |