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