第一个问题,停止tomcat的时候停不掉,报错如下:
Error occurred during initialization of VM
问题发现原因是停止的时候,服务器内存不足导致的。7.5G的服务器,我设置了6G。系统占用了一部分导致停止内存不足。
第二个问题:
全角和半角的问题,解决办法是把全角转为半角。
/** * 将字符串中的全角字符转为半角。 * <br/><br/> * 全角空格为12288,半角空格为32 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 * @param src 要转换的包含全角的任意字符串 * @return 转换之后的字符串 */ public static String toSemiangle(String src) { char[] c = src.toCharArray(); for (int index = 0; index < c.length; index++) { if (c[index] == 12288) {// 全角空格 c[index] = (char) 32; } else if (c[index] > 65280 && c[index] < 65375) {// 其他全角字符 c[index] = (char) (c[index] - 65248); } } return String.valueOf(c); }
问题三:
查询玩家:たくみ结果查询出2条记录。SQL如下,原因是:数据库安装是是默认使用的不区分大小写,解决办法是在查询的时候做处理区分大小写。加binary 解决。(日文的平假名与片假名)
SELECT * FROM _player_name_log WHERE pname ='たくみ';
Mysql默认查询是不分大小写的,可以在SQL语句中加入 binary来区分大小写;
BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。
SELECT * FROM player_name_log WHERE binary pname ='たくみ';
问题四:(补偿)
mysql in 排序功能。
SELECT * FROM 表名 WHERE 字段 IN (数据,数据) ORDER BY FIELD(字段,数据,数据);