判断出问题出在CONCAT这个MYSQL的函数里,并不是eventDesc的字段不够长。
如果把
- insertEvents("TeamBonuses", "
- SELECT
- '队伍奖励',
- <table>.eventTime,
- CONCAT('其战队受到点 ', bonus, '分奖励,原因 "', hlstats_Actions.description, '"'),
- hlstats_Servers.name,
- <table>.map
- FROM
- <table>
- LEFT JOIN hlstats_Actions ON
- <table>.actionId = hlstats_Actions.id
- LEFT JOIN hlstats_Servers ON
- hlstats_Servers.serverId = <table>.serverId
- WHERE
- <table>.playerId=$player
- ");
复制代码
中的CONCAT('其战队受到点 ', bonus, '分奖励,原因 \"', hlstats_Actions.description, '\"'),
替换成 CONCAT('其战队受到点 ', 2, '分奖励,原因 \"', hlstats_Actions.description, '\"'),
结果就为
队伍奖励 2006-08-30 00:36:47 其战队受到点 2分奖励,原因 "所有警察被消灭" 量子1#正版 www.shait.net de_dust2
看来问题出在CONCAT里,这个bonus是个int(11)数字,与中文结合起来就出错了。
这里的bonus是一个int(11)的字段,和中文连接造成中文乱码。
为了解决这个问题,最后是用ASCII(CHAR(bonus))来解决了,实在是晕。。。 |