하나의 MySQL 절차에 문제가 있습니다. 프로 시저 자체는 라틴 문자를 사용할 때만 작동합니다. 키릴 문자를 사용하면 작동하지 않습니다. 이 테이블은 "SET NAMES 'utf8'"페이지 상단에있는 utf8_general_ci에 있습니다. 이 게시물에 관한 도움을 주시면 감사하겠습니다. 아래는 제 코드입니다. 데이터를 보내도록 설정 특정 문자를 사용하는 클라이언트에는 mysql 말해, 당신이 열려있는 연결 및 데이터베이스 선택 후 SET NAMES
를 사용한다, 그것이 작동되도록하기 위해서는MySQL 절차. LIKE 패턴 일치 - 키릴 문자
CREATE PROCEDURE `selUsers`(IN usrNme VARCHAR(25))
BEGIN
SELECT *
FROM users WHERE 1
AND (user_real_name LIKE CONCAT('%', usrNme, '%') OR user_company LIKE CONCAT('%', usrNme, '%') OR user_name LIKE CONCAT('%', usrNme, '%'))
ORDER BY user_real_name ASC LIMIT 0, 15;
END
답장을 보내 주셔서 감사합니다. 알겠습니다. 나는 절차를 변경했으나 키릴 문자로 검색 할 때 아무런 결과도 얻지 못했습니다. 아래는 새로운 코드입니다. DELIMITER // 작성 프로 시저 selUsers (usrNme VARCHAR (25)) BEGIN SET NAMES 'utf8'; SELECT USER_ID, user_real_name, user_company, 사용자 1 사용자 _ AND (user_real_name LIKE CONCAT ('%', usrNme, '%') OR CONCAT ('%', usrNme, user_company LIKE '%') OR FROM USER_NAME \t CONCAT ('%', usrNme, '%')) \t ORDER BY user_real_name ASC LIMIT 0, 15; 끝 // DELIMITER; –
문제가 프로 시저에 있다고 생각하지 않지만 코드에서 호출하는 방법. 연결을 연 후 SET NAMES utf8 명령을 실행 한 다음 작동 방식을 확인하십시오. –
이전에 프로 시저를 호출하기 위해 set NAMES utf8을 사용하고 mysql_query ("CALL selUsers ('". $ que. "')"); 감사. –