как обрабатывать данные Unicode в Delphi7 - PullRequest
2 голосов
/ 07 августа 2010

в моем приложении, я отправляю данные из моего приложения в базу данных я получаю некоторые странные символы в моей базе данных, как это

альтернативный текст http://i31.tinypic.com/2637l9f.jpg

Я отправляю свои данные вот так

var
 w:widestring;
 u:utf8string;
begin
   w:=data //data is function to get some info(string)
   u:=utf8encode(w);
   sendfn(u);
end;

Я использую utf8_decode (мои данные получения) в моем php-коде перед добавлением в базу данных.

и моя база данных и таблица сортировки utf8_general_ci

Может кто-нибудь помочь мне в этом вопросе

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

Функция php utf8_decode преобразует символы из utf-8 в ISO-8859-1.Если путь, по которому берутся ваши данные (браузер или любой другой компонент, который вы используете для отправки ваших данных на веб-сервер (запрос http, ваша установка php, ваша веб-страница и подключение к вашей базе данных), из приложения delphi в базу данных, которая находится за вашей веб-страницей,способен поддерживать и настраивать на использование utf-8 данных, которые вам не нужны, для функции utf8_decode, вы можете просто вставить данные так, как они поступают.

Если вы еще не настроили php для работы сUTF-8, имейте в виду, что это сложно и никогда не работает на 100% (по крайней мере, для меня это никогда не работало), поэтому, возможно, для вас было бы лучше использовать данные в кодировке вашей локали.

0 голосов
/ 09 августа 2010

Это обоснованное предположение, но возвращает ли функция Data строку UTF-8 вместо WideString?Я думаю, что ошибка может быть в этой функции данных, которую вы вызываете, которая возвращает данные в неправильном формате строки.

...