2009-11-09 4 views

답변

11

유로 문자를 지원하는 문자 집합으로 열을 만듭니다.

CREATE TABLE MyTable 
(
    MyEuroColumn VARCHAR(5) 
     CHARACTER SET utf8 
     COLLATE utf8_general_ci 
); 

편집기가 유니 코드를 지원하지 않으면 다음과 같이 삽입 할 수 있습니다.

select concat('Five ', _ucs2 0x20AC, ' please!') 

또한 other character sets에서 유로 기호 저장할 수

UTF-8     0xE282AC 
UCS-16     0x20AC 
ISO-8859-15 (latin-9) 0xA4 
1

난 당신이 정말로 원하는 것을 모르지만 테이블 또는 열이 작품 같은 UTF8 인코딩, 뭔가를 사용하도록 설정되어있는 경우 문제가 UTF8 인코딩

4

와 VARCHAR로 저장에 없다 고급 :

CharSet=UTF8; 

내가 테스트에 사용 된 표는 다음과 같습니다

insert into test values (1, '€ <- euro'); 

또한, 확인하기 위해 클라이언트에서 연결 문자열이 추가해야 연결이 UTF8 사용 :

CREATE TABLE `g`.`test` (
    `id` int(11) NOT NULL auto_increment, 
    `name` varchar(10) character set utf8 NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 
2

나는 또한 UTF-8을 권장하는 동안, 나는 왜이 문제가 유로 기호를 저장하는 데 수 있습니다 몇 가지 설명을 추가하고 싶었 다른 인코딩.

유로 기호는 1997 년경에 기존 Windows 및 Mac 레거시 인코딩에 대한 패치로 추가되었습니다. Windows-1252에서 Windows latin-1 문자 세트, 선택한 코드 포인트는 0x80이었으며 MacRoman은 다른 위치를 선택했습니다. 그게 다 괜찮아요.하지만 많은 응용 프로그램은 라틴어 1 - 일반 텍스트에 대한 MySql 데이터베이스 스키마에서 iso-8859-1 인코딩을 지정하거나 iso-8859-1을 사용하여 웹 어플리케이션에서 HTML 출력을 표시합니다. Iso-8859-1은 내 지식으로는 유로 기호에 대한 코드 포인트를 매핑하기 위해 공식적으로 업데이트되지 않았습니다. 유로를 지원하는 latin1 인코딩은 자주 사용되는 iso-8859-15입니다.

따라서 스키마에 iso-8859-1 인코딩을 사용하는 경우 정의되지 않은 동작이 나쁘게 나옵니다.

관련 문제