2009-11-09 33 views

Trả lời

11

Tạo cột có bộ ký tự hỗ trợ ký tự Euro.

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

Nếu trình chỉnh sửa của bạn không hỗ trợ Unicde, bạn có thể chèn nó như;

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

Bạn cũng có thể lưu trữ các biểu tượng Euro trong other character sets:

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

Tôi không biết những gì bạn thực sự muốn nhưng không có vấn đề trong việc lưu trữ nó vào một VARCHAR với mã hóa utf8

4

Nếu bảng hoặc cột được thiết lập để sử dụng mã hóa utf8, một cái gì đó giống như tác phẩm này tốt:

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

Ngoài ra, thêm video này vào chuỗi kết nối của bạn trong các khách hàng để đảm bảo các kết nối sử dụng UTF8:

CharSet=UTF8; 

bảng tôi đã sử dụng để thử nghiệm theo :

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

Trong khi tôi cũng khuyên bạn nên UTF-8, tôi muốn thêm một số giải thích lý do tại sao bạn có thể gặp khó khăn trong việc lưu trữ các biểu tượng Euro trong các mã hóa khác.

Ký hiệu Euro được thêm vào dưới dạng bản vá cho mã hóa cũ và Windows hiện có vào năm 1997. Trong Windows-1252, bộ ký tự latin-1 của Windows, điểm mã được chọn là 0x80 và MacRoman đã chọn một vị trí khác. Đó là tất cả tốt, nhưng nhiều ứng dụng chỉ định mã hóa iso-8859-1 trong cơ sở dữ liệu MySql Schema cho văn bản 1-General Latin, hoặc đánh dấu đầu ra HTML của chúng trong các ứng dụng web với iso-8859-1. Iso-8859-1 chưa bao giờ, với kiến ​​thức của tôi, được cập nhật chính thức để lập bản đồ một điểm lập trình cho biểu tượng Euro. Mã hóa latin1 không hỗ trợ Euro là không thường xuyên sử dụng iso-8859-15.

Vì vậy, nếu bạn đang sử dụng mã hóa iso-8859-1 trong lược đồ của mình, bạn sẽ có hành vi không xác định hoặc tệ hơn.

Các vấn đề liên quan