|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为函数实在是太多了,慢慢的你就会知道,知道有这个函数就可以。 扼要说一下mysql4.1今后的成绩
第一:mysql4.1的存储体例已是utf8的了。。也就是说他的文件编码是utf8格局,咱们不需求忧虑会有存储不了的字符
第二:mysql办事器需求以一种编码体例来启动,设定毗连(通信)过去的字符编码是甚么,就是所谓的咱们的交换言语
第三:mysql的client端,需求设定一种编码去和mysql的办事器端通信,也是交换言语
那末为何回呈现乱码哪?
就是出在这个毗连的过程当中,试想一团体用英文和你措辞,而你只分明中文,真的和小燕子一样,三块肉喂了马吃了。。
那末若何处理乱码的成绩哪?
有几个举措:
第一,办事器端mysql和客户端mysql编译时分用不异的charset
./configure --with-extra-charsets=big5,gbk,gb2312,utf8 --with-charset=utf8
个中--with-charset=utf8就是设定办事器或客户真个默许毗连体例中的编码,固然你可以用各类编码,只需一致就能够。
(我感到这个是恐吓人的,由于就算你用--with-charset=gbk,在日文或其他文字中也不会呈现乱码)
第二,在编译落后行设置,这个也有两种体例,读设置装备摆设文件,或直接加参数
先说直接加参数的体例:
以下是我用的一个办事器剧本,用来启动mysql
CODE:
#!/bin/sh
rundir=`dirname "$0"`
echo "$rundir"
/usr/local/soft/mysql4112/bin/mysqld_safe --user=mysql --pid-file="$rundir"/mysql.pid --datadir="$rundir"/var "$@"\-O max_connection
s=500 -O wait_timeout=60 -O key_buffer=32M --port=6000 --socket="$rundir"/mysql.sock --default-character-set=utf8 &
个中可以看到办事器启动的毗连编码为utf8,固然你可以用其余体例好比gbk
客户端那更轻易了
/$mysqlpath/bin/mysql -hxxxx -uxxx -pxxx -P6000 --default-character-set=utf8
呵呵,然后你在mysql中看到mysql>show variables;
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8
说一下参数
character_set_system | utf8 这个是体系的文件编码,一切的都是utf8
| character_set_database | utf8 这个就是咱们办事器的启动的时分设置的编码
其他几项是客户真个毗连编码
然后说经由过程my.cnf设置的办法,这个也分办事器和客户真个体例
编译的时分咱们可以经由过程--sysconfdir=/etc的体例设置my.cnf的读取目次
my.cnf的设置装备摆设,cnf在client端和server真个设置是一样的,地位分歧
以下是client端my.cnf一脚
CODE:
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8
看一下就分明了,办事器端同理,不外是在[mysqld]下。
ps:my.cnf的地位是个成绩,假如编译的时分不设置sysconfdir的话,默许是在mysql的装置目次下的etc上面,这个目次需求你本人建一个,利用client端毗连既可以读取。
php有个成绩,他的mysql毗连不会读取mysql目次下的,而是读取/etc的根目次中的设置装备摆设文件,不晓得是否是个bug
ps:若何找到合适我本人的my.cnf文件那,这个是在mysql装置目次下的share/mysql/中,个中有
my-small.cnf
my-medium.cnf
my-large.cnf
my-huge.cnf
my-innodb-heavy-4G.cnf
分离对应数据库的巨细设置响应的设置装备摆设文件,这些设置的分歧只对server端起感化。
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板 |
|