C의 인코딩 된 문자 버퍼 배열이 512이고 MySQL의 데이터베이스 필드가 varchar입니다. 인코딩 된 문자 버퍼를 varchar에 저장할 수 있습니까?C를 사용하는 MySQL varchar의 인코딩 된 문자 버퍼 저장 문제
나는 이것을 시도했지만, 내가 직면 한 문제는 버퍼의 제한된 영역만을 데이터베이스에 저장하고 무시한다는 것이다. 실제 문제는 무엇이며 어떻게이 문제를 해결합니까?
C의 인코딩 된 문자 버퍼 배열이 512이고 MySQL의 데이터베이스 필드가 varchar입니다. 인코딩 된 문자 버퍼를 varchar에 저장할 수 있습니까?C를 사용하는 MySQL varchar의 인코딩 된 문자 버퍼 저장 문제
나는 이것을 시도했지만, 내가 직면 한 문제는 버퍼의 제한된 영역만을 데이터베이스에 저장하고 무시한다는 것이다. 실제 문제는 무엇이며 어떻게이 문제를 해결합니까?
당신이 인코딩에 의해 무엇을 의미하는지 분명하지 않다 참조하십시오.
임의의 바이트 값 문자열이있는 경우 varchar는 후행 공백을 잘라내려고하기 때문에 적합하지 않습니다. 이 경우 더 나은 선택은 varbinary 필드를 사용하는 것입니다.
삽입하는 문자열이 제어 문자가 포함 된 경우가 16 진수 문자열로 그 변환하고 싶은 삽입 최선 수는 다음과 같습니다
create table xx (
v varbinary(512) not null);
insert into xx values (0x68656C6C6F20776F726C64);
이 NUL에 질식에서 툴 체인의 모든 구성 요소를 방지 할 수 있습니다 문자 등.
테이블에 대해 varchar의 크기는 얼마입니까?
종종 varchar 필드는 문자가 아닌 255 바이트로 설정됩니다. MySQL 5.0.3부터는 더 긴 varchar 필드를 사용할 수 있습니다.
varchar (512) 필드가 필요한 것 같습니까?
varchar 크기는 650이며 char 버퍼에서 2 또는 4 바이트 만 저장합니다. – Siddiqui
관련 코드 샘플을 게시 하시겠습니까? –