Php 奇怪的编码问题
我有一个用拉丁字母5字符集编码的数据表,表中的所有列也是拉丁字母5。当我在mysql控制台中输入“SET NAMES'latin5'”并查询表结果时,一切正常。当我尝试删除或插入/更新时,所有新数据的编码都是完美的。但是,当我尝试向数据库插入Iso-8859数据(也使用mb_detect_编码验证这一点)时,我尝试插入没有“SET NAMES”的数据时,它不会以正确的编码插入/更新/选择,或者当我使用“SET NAMES'latin5'时”它没有以正确的方式插入/更新,但select are ok latin5数据是以正确的编码输入的,只有集合名“latin5”。当我使用集合名“utf8”时,select查询编码错误,但insert/update正常Php 奇怪的编码问题,php,mysql,encoding,Php,Mysql,Encoding,我有一个用拉丁字母5字符集编码的数据表,表中的所有列也是拉丁字母5。当我在mysql控制台中输入“SET NAMES'latin5'”并查询表结果时,一切正常。当我尝试删除或插入/更新时,所有新数据的编码都是完美的。但是,当我尝试向数据库插入Iso-8859数据(也使用mb_detect_编码验证这一点)时,我尝试插入没有“SET NAMES”的数据时,它不会以正确的编码插入/更新/选择,或者当我使用“SET NAMES'latin5'时”它没有以正确的方式插入/更新,但select are o
我要求我们去生产的原因。这让我想到了未来可能出现的问题。
mb\u-detect\u-encoding
不知道字符串的编码方式。这是一个有条件的猜测,但不能保证它会猜对。尤其是如果候选代码都是单字节编码,比如拉丁1和拉丁5
如果您想正确使用字符集,那么知道自己在做什么真的是无可替代的。我建议您至少阅读以下几页: