我在mysql中插入时遇到了问题。
我在PHP中有一个脚本,它从带有“accents”和“ñ”的外部文件中获取一个字符串,在myslq中获取一个带有collation utf8_spanish_ci表的数据库,并且“accents”和“ñ”插入到DB中有问题。
什么时候调试我的字符串完全到达插入代码行(“María”,“Toño”,...)白色口音和一切正确,插入字符后mysql截断所有字符串,直到第一个奇怪的字符到达(重音或ñ) )。试图解决问题我通过latin_swidish_ci来改变表和字段的排序规则并且问题发生了变化!插入是用“?”替换“口音”和“ñ” “?”有什么奇怪的。经过几个小时的战斗,使用来自PHP的uft8_code()函数,我将所有正确的字符串转换为包含许多奇怪字符的字符串,并且Mysql通过“accents”和“ñ”更改此字符,插入正确的数据
为什么会发生?,为什么Mysql接受奇怪的字符并通过正确的方式改变它?