2

我得到了一些用 编码的数据UTF-8,这将是西班牙语。我需要放入的数据库列当前正在使用latin1字符集。

如果我将 UTF-8 数据放入这些列会发生什么?我会丢失任何正确的数据吗?或者我应该使用 php 函数转换编码mb_convert_encoding

4

1 回答 1

3

每个可能的字节序列在 中都是有效的latin1,因此您可以将 UTF-8 编码的字符串放入您的列中,不会有任何抱怨。当您从数据库中提取数据时,字节将与输入时相同,因此只要客户端知道这些字节是 UTF-8 编码的,您将取回原始数据。

但是,您真的不应该那样做:为什么不将列数据类型更改为 UTF-8?

ALTER TABLE my_table MODIFY my_column TEXT CHARACTER SET utf8;
于 2012-05-05T09:23:42.480 回答