- 论坛徽章:
- 1
|
20可用积分
以前对mysql不了解,安装mysql的时候都是使用的默认编码latin1,后来发现这个不太好,后面安装的mysql就改成了gbk,另外还用过一些乱七八糟的PHP+mysql什么的套件安装的,这些默认字符集也各不相同
现在几个安装的mysql默认的字符设置都不相同,比如有的是
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
有的又是
Server characterset: gbk
Db characterset: gbk
Client characterset: utf8
Conn. characterset: utf8
总之都很乱,这样在从一个mysql里的数据库导入到另一个mysql里,有可能出会问题,即使能不出问题,也很麻烦,我想把他们都统一一下
------------------------------------------------------------
不过现在我对 mysql也还是了解的很少,想问一问大家,如果我直接把上面的四项字符集全部直接改成相同的,那么里面原有的数据库会不会出问题呢
比如原来是latin1的,我改成了gbk,和之前的正常运行相比
1.里面的数据库会不会出现乱码
2.程序连接数据库,从数据库读数据时,会不会出现乱码
3.导入导出时,会不会有编码的问题
--------------------------------------------------------------
另外,如果我想把他们统一改成某个字符集,是改成GBK好呢,还是改成UTF8好?
数据库里的数据要么是汉字要么是字母,通用性方面可以暂时不考虑
数据也不是很多,也不用从节省空间的角度考虑字符编码问题
主要是为了不同的mysql里的数据库相互导入导出方便,不容易出现乱码和丢失数据之类的问题
大家能不能给我一点建议呢 |
最佳答案
查看完整内容
如果我直接把上面的四项字符集全部直接改成相同的,那么里面原有的数据库会不会出问题呢(下面假设你把UTF8改成GBK)1.里面的数据库会不会出现乱码直接修改字符集,数据库不会对现有数据进行操作,因此现有数据保持原样。(参看总结3)2.程序连接数据库,从数据库读数据时,会不会出现乱码如果不手动去调整连接等编码的话,会出现乱码。因为你原有数据的编码格式还是UTF8,而你现在的连接编码已经是gbk了,所以会导致乱码。当然你set na ...
|