今天又花了许久折腾字符集的问题。这是第二次在字符集上浪费时间了。得写下来,免得忘记了。
折腾这么久,其原因是mysql sql workbench的字符集是UTF8。windows CMD下mysql的字符集是gbk。
sql workbench下工作,应该设置字符集为utf8,这样其输入/查询的结果集能够正确,也能够为其他客户端正确获得。
win7 cmd下的mysql字符集应该设置成为gbk,这样其输入/查询的结果集能够在其他客户端(如sqlworkbench下)正确获得。
Unicode的客户端程序,需要设置字符集为gbk,这样可以正确访问。
如果sql workbench下,错误设置了字符集为gbk,那么其输入的文字,只能在workbench下以gbk字符集能够看到,换句话说,也只能在使用 utf8的客户端上,通过gbk字符集能够正确看到。如果在使用Unicode的客户端,无论设置字符集是gbk还是utf8,都不能正确访问。
反之亦然。
总之set names gbk也好, set names utf8也好, 关键是与客户端使用的字符集有关,sql workbench 是utf8,
win7的Unicode程序可以使用gbk。
--------------------------------------------------------------------------------------------
OK,那么win下用脚本提交应该怎么办.....
文件是Unicode格式的?set names gbk;
文件是utf8格式的?set names utf8;