µ±Ç°Î»ÖãºLinux½Ì³Ì - Mysql - ΪʲôÎÒµÄ Mysql ²»Ö§³ÖÖÐÎIJéѯ

ΪʲôÎÒµÄ Mysql ²»Ö§³ÖÖÐÎIJéѯ

Q:

ÎÒÔÚдһ¸ö²éѯÌõ¼þʱµÄÎÊÌâÈçÏ£º
ÈçÎÒÏëдһ¸ö×Ö¶ÎÖаüº¬¡°À×ÖµÄËùÓмǼ
$str="Àî";
select * from table where field like '%$str%' ;
ÏÔʾµÄ¼Ç¼ÖгýÁË°üº¬¡±À×ֵļǼ£¬»¹Óв»°üº¬¡°À×ֵļǼ¡£ÎªÊ²Ã´£¿



A:

ÔÚMySQLÖУ¬½øÐÐÖÐÎÄÅÅÐòºÍ²éÕÒµÄʱºò£¬¶Ôºº×ÖµÄÅÅÐòºÍ²éÕÒ½á¹ûÊÇ´íÎóµÄ¡£ÕâÖÖÇé¿öÔÚMySQLµÄºÜ¶à°æ±¾Öж¼´æÔÚ¡£Èç¹ûÕâ¸öÎÊÌâ²»½â¾ö£¬ÄÇôMySQL½«ÎÞ·¨Êµ¼Ê´¦ÀíÖÐÎÄ¡£

¡¡¡¡³öÏÖÕâ¸öÎÊÌâµÄÔ­ÒòÊÇ£ºMySQLÔÚ²éѯ×Ö·û´®Ê±ÊÇ´óСд²»Ãô¸ÐµÄ£¬ÔÚ±àÒïMySQLʱһ°ãÒÔISO-8859×Ö·û¼¯×÷ΪĬÈϵÄ×Ö·û¼¯£¬Òò´ËÔڱȽϹý³ÌÖÐÖÐÎıàÂë×Ö·û´óСдת»»Ôì³ÉÁËÕâÖÖÏÖÏó¡£

·½·¨Ò»:

½â¾ö·½·¨ÊǶÔÓÚ°üº¬ÖÐÎĵÄ×ֶμÓÉÏ"binary"ÊôÐÔ£¬Ê¹Ö®×÷Ϊ¶þ½øÖƱȽϣ¬ÀýÈ罫"name char(10)"¸Ä³É"name char(10)binary"¡£

·½·¨¶þ:

¡¡¡¡Èç¹ûÄãʹÓÃÔ´Âë±àÒëMySQL£¬¿ÉÒÔ±àÒëMySQLʱʹÓÃ--with--charset=gbk ²ÎÊý£¬ÕâÑùMySQL¾Í»áÖ±½ÓÖ§³ÖÖÐÎIJéÕÒºÍÅÅÐòÁË¡£

·½·¨Èý:

¡¡¡¡¿ÉÒÔʹÓà Mysql µÄ locate º¯ÊýÀ´Åжϡ£ÒÔÉÏÊöÎÊÌâΪÀý,ʹÓ÷½·¨Îª:
SELECT * FROM table WHERE locate(field,'Àî') > 0;
±¾Õ¾Ê¹ÓõľÍÊÇÕâÖÖ·½·¨£¬¸Ð¾õ»¹²»´í¡£:P


·½·¨ËÄ:

°ÑÄúµÄSelectÓï¾ä¸Ä³ÉÕâÑù,SELECT * F