我正在获取一些以UTF-8
编码的数据,这些数据将是西班牙语。我需要将其放入的数据库列目前正在使用latin1
字符集。
如果我将UTF-8数据放入这些列会怎样?我会丢失任何正确的数据吗?
或者我应该使用php函数mb_convert_encoding
转换编码?
答案 0 :(得分:3)
每个可能的字节序列在latin1
中都有效,因此您可以将UTF-8编码的字符串放入您的列中,并且不会抱怨任何内容。当您从数据库中提取数据时,字节将与它们进入时的字节相同,因此如果客户端知道这些字节是UTF-8编码,您将获得原始数据。
但是,你真的不应该这样做:为什么不将列数据类型更改为UTF-8?
ALTER TABLE my_table MODIFY my_column TEXT CHARACTER SET utf8;