php gettext·½Ê½ÊµÏÖUTF 8¹ú¼Ê»¯¶àÓïÑÔ(i18n)
½ü
À´Ëæ×Åi18n(¹ú¼Ê»¯)µÄÖð½¥±ê×¼»¯£¬ÎÒÒ²À´½²Ò»½²ÔÚPHPÖÐÈçºÎʵÏÖ¹ú¼Ê»¯Ö§³Ö¡£¸úÆäËû³ÌÐòÓïÑÔÒ»Ñù£¬ÔÚ PHP Ò²¿ÉÒÔÀûÓà gettext
Ì×¼þд×÷ i18n ³ÌÐò£¬ÊµÏÖ NLS(Native Language Support) ¹ú¼Ê»¯Ö§³Ö£¬¾ßÌåÇë²Î¿¼¹Ù·½Îĵµ(
http://www.gnu.org/software/gettext/manual/gettext.html
)
ÕâÀïÎÒÃÇÖ÷Òª½éÉÜwindowƽ̨ÏÂʹÓÃphpµÄÀ©Õ¹gettextʵÏÖ³ÌÐòµÄ¹ú¼Ê»¯¡£
gettext¼ò½é£º
GNU
gettextÊÇ·ÒëÏîÄ¿µÄÖØÒªÒ»²½£¬ËüÌṩÁËÒ»¸ö¹¤×÷¿ò¼Ü£¬ÓÉһЩ¼¯³ÉµÄ¹¤¾ßºÍÎĵµ×é³É£¬°ïÖú³ÌÐòÔ±¡¢·ÒëÈËÔ±ºÍ×îÖÕÓû§ÊµÏÖ³ÌÐòµÄ¹ú¼Ê»¯ºÍ±¾µØ»¯¡£ÓÃ
GettextµÄ·½Ê½ÊµÏÖ¶àÓïÑԵõ½Á˹㷺µÄÖ§³Ö£¬ÖøÃûµÄBLOG³ÌÐòwordpressµÄ¹ú¼Ê»¯¾ÍÊÇÓõÄGNU gettext¡£
´óÖÂÔÀí£º
GNU
gettextʹÓÃPO»òMOÎļþÀ´ÊµÏÖ¹ú¼Ê»¯ºÍ±¾µØ»¯¡£POµÄÒâ˼ÊÇPortable
Object£¬ÊÇÒ»ÖÖÎı¾½á¹¹£¬¿ÉÒÔ·½±ãµÄÓÉÈËÃÇÔĶÁºÍÐ޸ġ£MOÊÇMachine
ObjectµÄ¼òд£¬MOÎļþÊÇPOÎļþµÄ¶þ½øÖÆÐÎ̬¡£Ò»°ãÀ´Ëµ£¬Ò»¸öPO»òMOÎļþ¶ÔÓ¦ÓÚÒ»ÖÖÓïÑÔ£¬Èç¹ûÒ»¸ö³ÌÐòÒªÖ§³Ö¶àÖÖÓïÑÔ£¬Ã¿Ò»ÖÖÓïÑÔ¶¼ÐèÒª×Ô¼º
µÄPO»òMOÎļþ¡£
¿ªÊ¼Ó¦Óãº
²½ÖèÒ»£º´î½¨»·¾³(·þÎñÆ÷ÒѾÍê³É£¬»·¾³ÒѾ´î½¨ºÃÁË)
1¡£Ê×ÏȲ鿴ÄãµÄphpÀ©Õ¹Ä¿Â¼ÏÂÊÇ·ñÓÐphp_gettext.dllÕâ¸öÎļþ£¬Èç¹ûûÓУ¬Õâ¾ÍÐèÒªÄãÏÂÔØÒ»¸ö»òÊÇ´ÓÆäËûµØ·½¿½±´Ò»¸ö£¬È»ºó·Åµ½phpÀ©Õ¹Ä¿Â¼¡£
2¡£´ò¿ªphp.ini£¬²éÕÒ”;extension=php_gettext.dll“ £¬È»ºóÈ¥³ý×¢ÊÍ£¬ÖØÆôapache¡£
ÈôÒ»ÇÐ˳Àû£¬¾Í¿ÉÒÔÔÚ phpinfo() Öп´µ½ gettext ×ÖÑù£¬ÖÁ´Ë·þÎñÆ÷»·¾³ÅäÖÃÍê±Ï¡£
²½Öè¶þ£º¼ÙÈçÎÒÃÇÒª·Òëtest.phpÒ³ÃæÀïµÄhello word!Õâ¾ä»°¡£
±à¼test.php£¬½«Òª·Òë µÄÎÄ×ÖÓÃgettextº¯Êý°üº¬£¬±íʾÕâЩ±»°üº¬µÄÎÄ×ÖÊÇÐèÒªÓÃÀ´·ÒëµÄ¡£
view plain
copy to clipboard
print
?
<?
include_once
(
'inc/setLan.php'
);
$domain
=
'test'
;
bindtextdomain
(
$domain
,
"locale/"
);
//ÉèÖÃij¸öÓòµÄmoÎļþ·¾¶
bind_textdomain_codeset($domain
,
'UTF-8'
);
//ÉèÖÃmoÎļþµÄ±àÂëΪUTF-8
textdomain($domain
);
//ÉèÖÃgettext()º¯Êý´ÓÄĸöÓòÈ¥ÕÒmoÎļþ
?>
<html>
<head>
<meta http-equiv="Content-Type"
&
Ïà¹ØÎĵµ£º
¡¡Ã¿¸öPHP³ÌÐòÔ±¶¼ÖªµÀPHPÓÐÇ¿´óµÄÕýÔò±í´ïʽ¹¦ÄÜ£¬ÎªÁËÒÔºóµÄ¹¤×÷·½±ã£¬ÎÒ´ÓÍøÉÏÕûÀíÁ˹ØÓÚÕýÔò±í´ïʽµÄ×ÊÁÏ£¬·½±ãÒÔºó¹¤×÷ʱµÄ½øÐÐ×ÊÁϲéÔÄ¡£
¡¡¡¡ÕýÔò±í´ïʽ(regular expression)ÃèÊöÁËÒ»ÖÖ×Ö·û´®Æ¥ÅäµÄģʽ£¬¿ÉÒÔÓÃÀ´¼ì²éÒ»¸ö´®ÊÇ·ñº¬ÓÐijÖÖ×Ó´®¡¢½«Æ¥ÅäµÄ×Ó´®×öÌæ»»»òÕß´Óij¸ö´®ÖÐÈ¡³ö·ûºÏij¸öÌõ¼þµÄ×Ó´®µÈ¡£
¡¡¡¡ ......
IPV4 ¿ÉÒÔ¿´×ö4¸ö256½øÖƵÄÊý×Ö, ¿ÉÒÔ°´³£¹æµÄ½øÖÆ×ª»»»»Ëã³ÉÊ®½øÖÆ.
Èç 192.168.1.1 »»Ëã³É10½øÖÆ:
192*256*256*256 + 168*256*256+1*256+1
Æäʵ¼ÆËã»ú¸üÉó¤ÒÆÎ»ºÍÓë»òÔËËã. ¿ÉÒԸĽøËã·¨ÈçÏÂ.
IP ת³¤ÕûÐÍ
public ipToInt($sIP)
{
$aIP = explode('.',$sIP);
$iIP = ($aIP[0] << 24) | ($aIP[1] ......
ÏÂÃæÊÇһЩ·Ç³£ÓÐÓõÄPHPÀà¿â£¬ÏàÐÅÒ»¶¨¿ÉÒÔΪÄãµÄWEB¿ª·¢Ìṩ¸üºÃºÍ¸üΪ¿ìËٵķ½·¨¡£
ͼ±í¿â
ÏÂÃæµÄÀà¿â¿ÉÒÔÈÃÄãºÜ¼òµÄ´´½¨¸´ÔÓµÄͼ±íºÍͼƬ¡£µ±È»£¬ËüÃÇÐèÒªGD¿âµÄÖ§³Ö¡£
pChart - Ò»¸ö¿ÉÒÔ´´½¨Í³¼ÆÍ¼µÄ¿â¡£
Libchart - ÕâÒ²ÊÇÒ»¸ö¼òµ¥µÄͳ¼ÆÍ¼¿â¡£
JpGraph - Ò»¸öÃæÏò¶ÔÏóµÄͼƬ´´½¨Àà¡£
Open Flash Chart - ÕâÊ ......
ÔÚÎÒÃǵÄÍøÕ¾Éè¼Æ¹ý³ÌÖУ¬¾³£»áÓõ½¶àÌõ¼þ²éѯ£¬±¾ÎĵÄÔ´ÂëÊÇÒ»¸ö¶þÊÖ·¿ÎݲéѯµÄÀý×Ó¡£ÔÚ±¾ÀýÖУ¬ÎÒÃÇҪʵÏÖÄܹ»Í¨¹ýµØÀíλÖã¬ÎïÒµÀàÐÍ£¬·¿Îݼ۸ñ£¬·¿ÎÝÃæ»ý¼°ÐÅÏ¢·¢²¼ÈÕÆÚµÈ¶à¸öÌõ¼þ²éѯµ½¿Í»§ËùÐèµÄ×ÊÁÏ¡£
²éѯÎļþ£¨search.php£©
Ò»¡¢Éú³É²éѯÓï¾ä£º
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
<?
$conn=mysql_connect("localhost", ......
<!-- xml ¸ñʽ
<books>
<book id='1001'>
<author>andylin</author>
<title>c language</title>
<publisher id="aaa">O'Reilly</publisher>
</book>
<book id='1002'>
<author>congfeng</author>
<t ......