在我的应用程序中,我将数据从我的应用程序发送到数据库 我在我的数据库中得到一些奇怪的字符,如此
alt text 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;
我在我的php代码中使用utf8_decode(我的获取数据),然后添加到我的数据库中。
我的数据库和表格排序是utf8_general_ci
任何人都可以在这个问题上帮助我
答案 0 :(得分:0)
这是一个有根据的猜测,但Data函数是否返回UTF-8字符串而不是WideString?我认为错误可能出在您正在调用的Data函数中,它会以错误的字符串格式返回数据。
答案 1 :(得分:0)
php函数utf8_decode
将字符从utf-8
转换为ISO-8859-1
。如果您的数据所使用的路径(您使用的浏览器或用于将数据发送到Web服务器的任何组件(http请求,您的php安装,您的网页和数据库连接)从您的delphi应用程序到您网页后面的数据库是能够支持并配置为使用utf-8
数据而不需要utf8_decode
函数,您只需按照它的方式插入数据。
如果你还没有配置php来使用UTF-8
,请注意它很难并且永远不会100%工作(对我来说至少它从未这样做过),所以也许对你来说更好使用您的语言环境编码中的数据。