|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle。对于一些具有专门数据库管理员的比较大的环境来说,MySQL很难得到宠爱,这时候,关于MySQL是否真的具有良好的可扩展性的争论已经没有意义。mysql|sql|办理|成绩|中文乱码*MySQL(和PHP搭配之最好组合)中文乱码的缘故原由
MySQL(和PHP搭配之最好组合)会呈现中文乱码的缘故原由不过乎以下几点:
-MySQL(和PHP搭配之最好组合)server自己设定成绩,比方还停止在latin1
-MySQL(和PHP搭配之最好组合)table的语系设定成绩(包括character与collation)
-客户端程式(比方php)的连线语系设定成绩
在之前的两篇文章中已先容过怎样设定MySQL(和PHP搭配之最好组合)server/table的character/collation。
接上去只必要增补几点注重事:
*MySQL(和PHP搭配之最好组合)中文乱码必胜办理法
1、MySQL(和PHP搭配之最好组合)启动时会读取一个预设的config档,一样平常称号为my.ini,而它会到以下两地位往寻觅这个档案:
C:windowsmy.ini也就是功课体系的安装目次,也有多是C:winntmy.ini
C::my.cnf也就是Cdisk的根目次
注重分歧地位里的档案suffix纷歧样,这点在之前的文章中没有出格夸大,因而当时我是用更庞大的办法间接从头将MySQL(和PHP搭配之最好组合)注册到service内里,并在那边指定my.ini的地位。
2、my.ini里的内容为:
[MySQL(和PHP搭配之最好组合)d]
default-character-set=utf8
[client]
default-character-set=utf8
init_connect=SETNAMESutf8
个中MySQL(和PHP搭配之最好组合)d是指定server启动时要用的语系,但假如这里设定为utf8大概会让很多英文软体不高兴,比方osCommerce/mediaWiki,以是这里倡议设成latin1。
上面的client则是设定当client连线时要利用甚么语系,但惋惜的是这个设定不是每一个client城市鸟它,基础上只要MySQL(和PHP搭配之最好组合)自已家的程式,比方MySQL(和PHP搭配之最好组合).exe,MySQL(和PHP搭配之最好组合)d.exe,MySQL(和PHP搭配之最好组合)admin.exe或是MySQL(和PHP搭配之最好组合)ControlCenter这类程式会往读取这个设定档然后改用utf8连线。
note:感激b6s桑热忱互助供应第二行指令,听说比一支支php程式往设定connectionsetting更快,如许应当也能够特地办理phpmyadmin没法准确显现unicode中文的成绩(不外amfphp到是不吃这套,必定要乖乖的自已设定语系才行)
但年夜部分工程师应当都是自已写php/jsp(SUN企业级使用的首选)程式往连线,此时天然不会读取这个设定而持续利用预设的语系-latin1。
这也恰是八成来信伴侣阵亡的中央。
一般我会用一个自力的档案来处置MySQL(和PHP搭配之最好组合)connection的设定,比方:
PLAINTEXT
<?
//databaseconnectiondetails.
$host="localhost";
$link=MySQL(和PHP搭配之最好组合)_connect($host,"xxx","xxx");
MySQL(和PHP搭配之最好组合)_query("SETNAMESutf8");
MySQL(和PHP搭配之最好组合)_select_db("your_table_name_here",$link);
?>
请注重在MySQL(和PHP搭配之最好组合)_connect后第五行的中央有加上一个"setnamesutf8"的指令,告知MySQL(和PHP搭配之最好组合)这个connection以后的连线内容都要利用utf8,经由如许设定后,一般就能够办理年夜部分成绩。
从这里也能够推想得知,假如你有效某种customconnectionpooling机制,就要记得在每次创建新的connection后当即设定为utf8。
这组设定经由几天的反覆测试(利用中文繁、简、日文、韩文)后已证明完整不会有乱码或是某些字酿成"口"。
例子:试者输出这几个字「不道能否谷绻悄苷方MySQL(和PHP搭配之最好组合)再被读出来,那就是中文没成绩了,假如读出来后酿成『口』字那就是反动还未乐成同道仍需勉力...orz
固然我也特地考证了flex2-amfphp-php-MySQL(和PHP搭配之最好组合)往返传resultset也不再见有中文乱码成绩,能够放心利用
为维持生产环境和非生产环境需要不断地投入管理支持费用MySQL学习教程,最终导致客户为数据库资源投入巨额成本。 |
|