一个关于如何从 MQL4访问 MYSQL 数据库乱码问题。
在此向进来的各位表示感谢,我现在最近也不断地学习,在本网站中也找了很多关于学习MQL学习的资料,但最近测试了一个关于如何从 MQL4访问 MYSQL 数据库的功能,同时也参考并按照<如何从 MQL5 (MQL4) 访问 MYSQL 数据库>文章编写,但我一直测试数据都有存在的问题,在此向各请教一下,目前测试了MYSQL 的数据,可以访问数据库,并同时取回数据,但只要是数字和英文的数据就正常显示,如果是有中文的就是乱码,难不成只有我的不行吗,在测试的时候各位没发现这问题?为这问题,现在向大家请教。。。。我如何解决这个问题.
以下是我和<如何从 MQL5 (MQL4) 访问 MYSQL 数据库>文章 取数据一样,代码也一样:、
if (Cursor >= 0)
{
Rows = MySqlCursorRows(Cursor);
Print (Rows, " row(s) selected.");
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
AccountBasID = MySqlGetFieldAsInt(Cursor, 0); // id
TerminalNames = MySqlGetFieldAsString(Cursor, 1); // code
AccountPNs = MySqlGetFieldAsString(Cursor, 2); // code
AccountEquitys = MySqlGetFieldAsDouble (Cursor,3); // code
YNRelease = MySqlGetFieldAsInt(Cursor, 4); // code
Dates = MySqlGetFieldAsDatetime(Cursor, 5); // code
// vStartTime = MySqlGetFieldAsDatetime(Cursor, 2); // start_time
// vStartTime = MySqlGetFieldAsDatetime(Cursor, 2); // start_time
// Print ("ROW[",i,"]: id = ", vId, ", code = ", AccountNames, ", start_time = ", TimeToStr(vStartTime, TIME_DATE|TIME_SECONDS));
if(YNRelease==1)
{
yn="真实用户";
}
else
{
yn="虚拟号";
}
Print ("ROW[",i,"]: 用户ID = ", AccountBasID, ", 账户 = ", TerminalNames, ", 账户pn= ", AccountPNs, ", 资产= ", AccountEquitys, ", 是否为真实用户= ", yn, ", 日期= ",TimeToStr(Dates, TIME_DATE|TIME_SECONDS));
}
MySqlCursorClose(Cursor); // NEVER FORGET TO CLOSE CURSOR !!!
}
else
{
Print ("Cursor opening failed. Error: ", MySqlErrorDescription);
}
MySqlDisconnect(DB);
中文一直都是显示 ?????????? ? ? ?
何从 MQL5 (MQL4) 访问 MYSQL 数据库
设置数据库格式为UTF-8
数据库格式一直为为UTF-8
mt4 的mysql 支持的动态链接库不支持中文的,写入中文入库时就变成了乱码,目前市面上还没有见到支持中文的,暂时没法解决的,不用试了,只有入英文的!
我遇到同样问题 解决办法:
uchar UTF8[];
StringToCharArray("set names gbk", UTF8);
mysql_real_query(mysql,UTF8,ArraySize(UTF8));
一个关于如何从 MQL4访问 MYSQL 数据库乱码问题。
在此向进来的各位表示感谢,我现在最近也不断地学习,在本网站中也找了很多关于学习MQL学习的资料,但最近测试了一个关于如何从 MQL4访问 MYSQL 数据库的功能,同时也参考并按照<如何从 MQL5 (MQL4) 访问 MYSQL 数据库>文章编写,但我一直测试数据都有存在的问题,在此向各请教一下,目前测试了MYSQL 的数据,可以访问数据库,并同时取回数据,但只要是数字和英文的数据就正常显示,如果是有中文的就是乱码,难不成只有我的不行吗,在测试的时候各位没发现这问题?为这问题,现在向大家请教。。。。我如何解决这个问题.
以下是我和<如何从 MQL5 (MQL4) 访问 MYSQL 数据库>文章 取数据一样,代码也一样:、
if (Cursor >= 0)
{
Rows = MySqlCursorRows(Cursor);
Print (Rows, " row(s) selected.");
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
AccountBasID = MySqlGetFieldAsInt(Cursor, 0); // id
TerminalNames = MySqlGetFieldAsString(Cursor, 1); // code
AccountPNs = MySqlGetFieldAsString(Cursor, 2); // code
AccountEquitys = MySqlGetFieldAsDouble (Cursor,3); // code
YNRelease = MySqlGetFieldAsInt(Cursor, 4); // code
Dates = MySqlGetFieldAsDatetime(Cursor, 5); // code
// vStartTime = MySqlGetFieldAsDatetime(Cursor, 2); // start_time
// vStartTime = MySqlGetFieldAsDatetime(Cursor, 2); // start_time
// Print ("ROW[",i,"]: id = ", vId, ", code = ", AccountNames, ", start_time = ", TimeToStr(vStartTime, TIME_DATE|TIME_SECONDS));
if(YNRelease==1)
{
yn="真实用户";
}
else
{
yn="虚拟号";
}
Print ("ROW[",i,"]: 用户ID = ", AccountBasID, ", 账户 = ", TerminalNames, ", 账户pn= ", AccountPNs, ", 资产= ", AccountEquitys, ", 是否为真实用户= ", yn, ", 日期= ",TimeToStr(Dates, TIME_DATE|TIME_SECONDS));
}
MySqlCursorClose(Cursor); // NEVER FORGET TO CLOSE CURSOR !!!
}
else
{
Print ("Cursor opening failed. Error: ", MySqlErrorDescription);
}
MySqlDisconnect(DB);
中文一直都是显示 ?????????? ? ? ?
何从 MQL5 (MQL4) 访问 MYSQL 数据库