>  기사  >  데이터 베이스  >  MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)

MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)

黄舟
黄舟원래의
2017-05-14 09:57:342549검색

최근 사업측에서는 개별 사용자 정보 삽입에 실패했다고 보고했으며 오류 메시지는 잘못된 문자열 값: "xF0xA5.... 이 프롬프트를 보면 다음과 같습니다. 문자셋 은 지원되지 않습니다. 희귀한 단어로 인해 발생하므로 필요한 친구들은

을 참고하시면 됩니다. 최근 업체 측에서 개별 사용자 정보 삽입에 실패했다는 소식이 전해졌고, 오류 메시지는 "잘못된 문자열 값:"xF0xA5...."와 유사했습니다. 이 프롬프트를 보십시오. 희귀 문자를 지원하지 않는 문자 세트로 인해 발생할 수 있습니다.

다음은 가상머신에서 재현한 시나리오입니다.

step1, 원래 테이블 구조 문자 집합 환경 시뮬레이션:

use test;
CREATE TABLE `t1` (
 `id` int(10) NOT NULL AUTO_INCREMENT,
 `real_name` varchar(255) CHARACTER SET utf8 DEFAULT '' COMMENT '姓名',
 `nick` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '昵称',
 PRIMARY KEY (`id`)
) ENGINE=InnoDBAUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='会员卡';

step2, 희귀 문자 삽입(sqlyog를 사용하여 시뮬레이션) ) :

1. 먼저 온라인 환경을 시뮬레이션하고 문자 세트를 설정합니다.

MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)

2. 희귀 문자를 삽입합니다. www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php?zfj=kzb&ks=24E20&js=257E3)

MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)

삽입하려고 합니다. 왕(word에서 alt를 누르고 152964를 입력). 삽입에 실패한 것을 확인할 수 있습니다.

3단계. real_name의 문자 집합 수정:

use test;

alter table t1 change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' ;

대규모 온라인 테이블인 경우 pt-osc를 사용하여 처리할 수 있습니다.

pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' "
 D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --dry-run


pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' " 
D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --execute

4단계. 실험을 다시 삽입합니다.

1. 먼저 문자 집합을 설정합니다.

MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)

2 다시 삽입하면 삽입에 성공했다는 것을 알 수 있습니다.

MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)

명령줄에서

쿼리 하면 잘못된 코드가 없습니다.

MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)

네, 참고하시면 됩니다.

위 내용은 MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.