【发布时间】:2014-06-27 07:54:17
【问题描述】:
我已经尝试过This solution,上面写着
ALTER TABLE title
CHARACTER SET utf8
COLLATE utf8_unicode_ci;
好的,这里有一些屏幕截图可能会对您有所帮助。
更新
这是我插入日文字符时发生的情况。
更新 2
Show create table 给出了这个
CREATE TABLE `productInfo` (
`pID` int(11) NOT NULL AUTO_INCREMENT,
`pOperation` varchar(40) CHARACTER SET latin1 DEFAULT NULL,
`year` year(4) DEFAULT NULL,
`season` varchar(10) CHARACTER SET latin1 DEFAULT NULL,
`pName` varchar(40) CHARACTER SET latin1 DEFAULT NULL,
`category` varchar(40) CHARACTER SET latin1 DEFAULT NULL,
`margin1` text CHARACTER SET latin1,
`margin2` text CHARACTER SET latin1,
PRIMARY KEY (`pID`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
只是看到
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
但现在看到查询
SELECT character_set_name, collation_name
FROM information_schema.columns
WHERE table_schema = 'trac_data'
AND table_name = 'productInfo'
AND column_name = 'pOperation';
给予
character_set_name collation_name
'latin1' 'latin1_swedish_ci'
这很奇怪!
更新 3
SELECT hex(pOperation),pOperation FROM trac_data.productInfo;
给了 3F3F3F3F3F 这是实际“?”的十六进制代码而不是任何日文字符,这意味着没有日文字符被存储
【问题讨论】:
标签: mysql utf-8 character-encoding mysql-workbench