실험 중에 출력 매개변수를 데이터베이스에 작성해야 하는데, 작성 과정에서 lab_dynamic_order.upd_upd() 문을 실행할 때 오류가 발생했습니다. 처음에는 오류가 발생한 위치를 알 수 없었습니다. 두니앙에게 도움을 청하려고 했는데, 인터넷에서 어떤 분들은 한자 입력 때문이라고 하더군요. 그래서 mysql에 쓸 한자가 포함된 문자열을 복사했는데, 저장할 때 1행의 'tout' 열에 대해 잘못된 문자열 값: 'xE7x81xABxE7x8Bx90...'이라는 오류 메시지가 나타났습니다. 다시 검색해 보니 해결 방법은 다음과 같습니다.
해당 열을 utf8-utf8_general_ci로 변경합니다.
처리된 결과는 다음과 같습니다
MySQL은 8가지 기본 문자열 유형(CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, SET 및 기타 문자열 유형)을 제공합니다.
은 단일 문자만큼 단순한 것부터 거대한 텍스트 블록이나 이진 문자열까지 다양한 데이터를 저장할 수 있습니다.
문자열 유형 바이트 크기 설명 및 저장 요구 사항
CHAR 0~255바이트 고정 길이 문자열
VARCHAR 0~255바이트 가변 길이 문자열
TINYBLOB 0-255바이트 255자 이하의 이진 문자열
TINYTEXT 0-255바이트 짧은 텍스트 문자열
이진 형식의 BLOB 0-65535바이트 긴 텍스트 데이터
TEXT 0-65535바이트 긴 텍스트 데이터
MEDIUMBLOB 0-16 777 바이너리 형식의 215바이트 중간 길이 텍스트 데이터
MEDIUMTEXT 0-16 7 77 215바이트 중간 길이 텍스트 데이터
LOGNGBLOB 0-4 294 967 295바이트 바이너리 형식의 매우 큰 텍스트 데이터
LONGTEXT 0-4 294 967 295바이트 매우 큰 텍스트 데이터
VARBINARY(M) 고정 허용 - 길이가 0-M 바이트인 길이 바이트 문자열, 값 길이 + 1 바이트
BINARY(M) M 0-M 문자 길이 허용
위 내용은 MySQL Advanced(22) MySQL 오류 내용입니다. : 잘못된 문자열 값: 'xE7x81xABxE7x8Bx90...한자 입력 오류입니다. 자세한 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!