我收到一些以 UTF-8
编码的数据,该数据将是西类牙语。我需要将其放入的数据库列当前使用 latin1
字符集。
如果我将 UTF-8 数据放入这些列中会发生什么?我会丢失任何正确的数据吗?
或者我应该使用 php 函数 mb_convert_encoding
转换编码?
最佳答案
每个可能的字节序列在 latin1
中都是有效的,因此您可以将 UTF-8 编码的字符串放入您的列中,不会有任何提示。当您从数据库中提取数据时,字节将与输入时相同,因此只要客户端知道这些字节是 UTF-8 编码的,您将取回原始数据。
但是,您确实不应该这样做:为什么不将列数据类型更改为 UTF-8?
ALTER TABLE my_table MODIFY my_column TEXT CHARACTER SET utf8;
关于php - 将 UTF-8 数据放入 latin1 数据库列时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460441/