

 Amazon Redshift는 2026년 6월 30일 이후에 Python UDF 사용을 더 이상 지원하지 않습니다. 해당 조치는 단계적으로 시행될 예정입니다. Python 수명 종료 및 마이그레이션 옵션에 대한 자세한 내용은 2025년 6월 30일에 게시된 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# 멀티바이트 문자 로드 오류
<a name="multi-byte-character-load-errors"></a>

CHAR 데이터 형식인 열은 1바이트 UTF-8 문자 127바이트까지 또는 ASCII 문자 세트이기도 한 7F 16진수만을 허용합니다. VARCHAR 열은 최대 4바이트까지 멀티바이트 UTF-8 문자를 허용합니다. 자세한 내용은 [문자 형식](r_Character_types.md) 섹션을 참조하세요.

로드 데이터의 줄에 열 데이터 형식에 맞지 않는 문자가 포함되어 있는 경우, COPY는 오류를 반환하고 STL\_LOAD\_ERRORS 시스템 로그 테이블에 오류 번호 1220을 사용하여 행을 기록합니다. ERR\_REASON 필드에는 잘못된 문자의 바이트 시퀀스가 16진수로 포함되어 있습니다.

로드 데이터의 유효하지 않은 문자를 수정하는 대신 로드 프로세스 도중 유효하지 않은 문자를 대체할 수 있습니다. 유효하지 않은 UTF-8 문자를 대체하려면 COPY 명령에서 ACCEPTINVCHARS 옵션을 지정합니다. ACCEPTINVCHARS 옵션이 설정되면 지정한 문자가 코드 포인트를 대체합니다. ACCEPTINVCHARS 옵션이 설정되지 않은 경우 Amazon Redshift는 문자를 유효한 UTF-8로 수락합니다. 자세한 내용은 [ACCEPTINVCHARS](copy-parameters-data-conversion.md#acceptinvchars) 섹션을 참조하세요.

다음 코드 포인트 목록은 유효한 UTF-8이며 ACCEPTINVCHARS 옵션이 설정되지 않은 경우 COPY 작업은 오류를 반환하지 않습니다. 그러나 이러한 코드 포인트는 유효하지 않은 문자입니다. [ACCEPTINVCHARS](copy-parameters-data-conversion.md#acceptinvchars) 옵션을 사용하여 코드 포인트를 지정한 문자로 바꿀 수 있습니다. 이러한 코드 포인트에는 `0xFDD0`\~`0xFDEF`의 값 범위와 `FFFE` 또는 `FFFF`로 끝나는 `0x10FFFF`까지의 값이 포함됩니다.
+ `0xFFFE`, `0x1FFFE`, `0x2FFFE`, …, `0xFFFFE`, `0x10FFFE`
+ `0xFFFF`, `0x1FFFF`, `0x2FFFF`, …, `0xFFFFF`, `0x10FFFF`

다음 예는 COPY가 UTF-8 문자 `e0 a1 c7a4`를 CHAR 열로 로드하려 할 때 발생하는 오류 이유를 보여줍니다.

```
Multibyte character not supported for CHAR 
(Hint: Try using  VARCHAR). Invalid char: e0 a1 c7a4
```

오류가 VARCHAR 데이터 형식과 관련된 경우, 유효하지 않은 UTF-8 16진수 시퀀스뿐 아니라 오류 코드도 오류 이유에 포함됩니다. 다음 예는 COPY가 UTF-8 `a4`를 VARCHAR 필드로 로드하려 할 때 발생하는 오류 이유를 보여줍니다.

```
String contains invalid or unsupported UTF-8 codepoints. 
Bad UTF-8 hex sequence: a4 (error 3)
```

다음 표에는 VARCHAR 로드 오류의 설명과 해결 방법 제안이 나와 있습니다. 이런 오류 중 하나가 발생하면 문자를 유효한 UTF-8 코드 시퀀스로 대체하거나 문자를 삭제하세요.


| 오류 코드  | 설명  | 
| --- | --- | 
| 1  | UTF-8 바이트 시퀀스가 VARCHAR가 지원하는 최대 4바이트를 초과합니다. | 
| 2  | UTF-8 바이트 시퀀스가 불완전합니다. COPY가 문자열 끝 앞에서 멀티바이트 문자의 예상되는 연속 바이트 수를 찾지 못했습니다. | 
| 3  | UTF-8 1바이트 문자가 범위를 초과합니다. 시작 바이트는 254, 255이거나 128과 191 사이의 문자여서는 안 됩니다(128과 191도 포함). | 
| 4  | 바이트 시퀀스의 후행 바이트 값이 범위를 초과합니다. 연속 바이트는 128에서 191 사이여야 합니다(128과 191도 포함). | 
| 5  | UTF-8 문자가 서로게이트로 예약되어 있습니다. 서로게이트 코드 포인트(U\+D800 \~ U\+DFFF)가 유효하지 않습니다. | 
| 8 | 바이트 시퀀스가 최대 UTF-8 코드 포인트를 초과합니다. | 
| 9 | UTF-8 바이트 시퀀스에 일치하는 코드 포인트가 없습니다. | 