PHP³ÌÐòÉè¼ÆÖÐÖÐÎıàÂëÎÊÌâÔø¾À§ÈźܶàÈË£¬µ¼ÖÂÕâ¸öÎÊÌâµÄÔÒòÆäʵºÜ¼òµ¥£¬Ã¿¸ö¹ú¼Ò(»òÇøÓò)¶¼¹æ¶¨Á˼ÆËã»úÐÅÏ¢½»»»ÓõÄ×Ö·û±àÂ뼯£¬ÈçÃÀ¹úµÄÀ©Õ¹ ASCII Âë, ÖйúµÄ GB2312-80£¬ÈÕ±¾µÄ JIS µÈ¡£×÷Ϊ¸Ã¹ú¼Ò/ÇøÓòÄÚÐÅÏ¢´¦ÀíµÄ»ù´¡£¬×Ö·û±àÂ뼯Æð×Åͳһ±àÂëµÄÖØÒª×÷Óá£×Ö·û±àÂ뼯°´³¤¶È·ÖΪ SBCS(µ¥×Ö½Ú×Ö·û¼¯)£¬DBCS(Ë«×Ö½Ú×Ö·û¼¯)Á½´óÀà¡£ÔçÆÚµÄÈí¼þ(ÓÈÆäÊDzÙ×÷ϵͳ)£¬ÎªÁ˽â¾ö±¾µØ×Ö·ûÐÅÏ¢µÄ¼ÆËã»ú´¦Àí£¬³öÏÖÁ˸÷ÖÖ±¾µØ»¯°æ±¾(L10N)£¬ÎªÁËÇø·Ö£¬Òý½øÁË LANG, Codepage µÈ¸ÅÄî¡£µ«ÊÇÓÉÓÚ¸÷¸ö±¾µØ×Ö·û¼¯´úÂ뷶ΧÖصþ£¬Ï໥¼äÐÅÏ¢½»»»À§ÄÑ;Èí¼þ¸÷¸ö±¾µØ»¯°æ±¾¶ÀÁ¢Î¬»¤³É±¾½Ï¸ß¡£Òò´ËÓбØÒª½«±¾µØ»¯¹¤×÷ÖеĹ²ÐÔ³éÈ¡³öÀ´£¬×÷Ò»Ö´¦Àí£¬½«ÌرðµÄ±¾µØ»¯´¦ÀíÄÚÈݽµµÍµ½×îÉÙ¡£ÕâÒ²¾ÍÊÇËùνµÄ¹ú¼Ê»¯(118N)¡£¸÷ÖÖÓïÑÔÐÅÏ¢±»½øÒ»²½¹æ·¶Îª Locale ÐÅÏ¢¡£´¦ÀíµÄµ×²ã×Ö·û¼¯±ä³ÉÁ˼¸ºõ°üº¬ÁËËùÓÐ×ÖÐ뵀 Unicode¡£ ÏÖÔڴ󲿷־ßÓйú¼Ê»¯ÌØÕ÷µÄÈí¼þºËÐÄ×Ö·û´¦Àí¶¼ÊÇÒÔ Unicode Ϊ»ù´¡µÄ£¬ÔÚÈí¼þÔËÐÐʱ¸ù¾Ýµ±Ê±µÄocale/Lang/Codepage ÉèÖÃÈ·¶¨ÏàÓ¦µÄ±¾µØ×Ö·û±àÂëÉèÖ㬲¢ÒÀ´Ë´¦Àí±¾µØ×Ö·û¡£ÔÚ´¦Àí¹ý³ÌÖÐÐèҪʵÏÖ Unicode ºÍ±¾µØ×Ö·û¼¯µÄÏ໥ת»»£¬Éõ»òÒÔ Unicode ΪÖмäµÄÁ½¸ö²»Í¬±¾µØ×Ö·û¼¯µÄÏ໥ת»»¡£ÕâÖÖ·½Ê½ÔÚÍøÂç»·¾³Ï±»½øÒ»²½ÑÓÉ죬ÈκÎÍøÂçÁ½¶ËµÄ×Ö·ûÐÅÏ¢Ò²ÐèÒª¸ù¾Ý×Ö·û¼¯µÄÉèÖÃת»»³É¿É½ÓÊܵÄÄÚÈÝ¡£ Êý¾Ý¿âÖеÄ×Ö·û¼¯±àÂëÎÊÌâ Á÷ÐеĹØϵÊý¾Ý¿âϵͳ¶¼Ö§³ÖÊý¾Ý¿â×Ö·û¼¯±àÂ룬Ҳ¾ÍÊÇ˵ÔÚ´´½¨Êý¾Ý¿âʱ¿ÉÒÔÖ¸¶¨Ëü×Ô¼ºµÄ×Ö·û¼¯ÉèÖã¬Êý¾Ý¿âµÄÊý¾ÝÒÔÖ¸¶¨µÄ±àÂëÐÎʽ´æ´¢¡£µ±Ó¦ÓóÌÐò·ÃÎÊÊý¾Ýʱ£¬ÔÚÈë¿ÚºÍ³ö¿Ú´¦¶¼»áÓÐ×Ö·û¼¯±àÂëµÄת»»¡£¶ÔÓÚÖÐÎÄÊý¾Ý£¬Êý¾Ý¿â×Ö·û±àÂëµÄÉèÖÃÓ¦µ±±£Ö¤Êý¾ÝµÄÍêÕûÐÔ¡£GB2312¡¢GBK¡¢UTF-8 µÈ¶¼ÊÇ¿ÉÑ¡µÄÊý¾Ý¿â×Ö·û¼¯±àÂë;µ±È»ÎÒÃÇÒ²¿ÉÒÔÑ¡Ôñ ISO8859-1 (8-bit)£¬Ö»ÊÇÎÒÃǵÃÔÚÓ¦ ÓóÌÐòдÊý¾Ý֮ǰÏȽ« 16Bit µÄÒ»¸öºº×Ö»ò Unicode ²ð·Ö³ÉÁ½¸ö 8-bit µÄ×Ö·û£¬¶ÁÊý¾ÝÖ®ºóÒ²ÐèÒª½«Á½¸ö×ֽںϲ¢ÆðÀ´£¬Í¬Ê±»¹ÒªÅбðÆäÖÐµÄ SBCS ×Ö·û£¬Òò´ËÎÒÃDz¢²»ÍƼö²ÉÓà ISO8859-1 ×÷ΪÊý¾Ý¿â×Ö·û¼¯±àÂë¡£ÕâÑù²»µ«Ã»Óгä·ÖÀûÓÃÊý¾Ý¿â×ÔÉíµÄ×Ö·û¼¯±àÂëÖ§³Ö£¬¶øÇÒͬʱҲÔö¼ÓÁ˱à³ÌµÄ¸´ÔӶȡ£±à³Ìʱ£¬¿ÉÒÔÏÈÓÃÊý¾Ý¿â¹ÜÀíϵͳÌṩµÄ¹ÜÀí¹¦Äܼì²éÆäÖеÄÖÐÎÄÊý¾ÝÊÇ·ñÕýÈ·¡£ PHP ³ÌÐòÔÚ²éѯÊý¾Ý¿â֮ǰ£¬Ê×ÏÈÖ´ÐÐ mysql_query("SET NAMES xxxx"); ÆäÖÐ xxxx ÊÇÄãÍøÒ³µÄ±àÂë(charset=xxxx)£¬Èç¹ûÍøÒ³ÖÐ charset=utf8£¬Ôò xxxx=utf8£¬Èç¹ûÍøÒ³ÖÐ charset=gb2312£¬Ôòxxxx=gb2312£¬¼¸ºõËùÓÐ WEB ³ÌÐò£¬¶¼ÓÐÒ»¶ÎÁ¬½ÓÊý¾Ý¿âµÄ¹«¹²´úÂ룬·ÅÔÚÒ»¸öÎļþÀÔÚÕâÎļþÀ¼ÓÈë mysql_query("SET NAMES xxxx") ¾Í¿ÉÒÔÁË¡£ SET NAMES ÏÔʾ¿Í»§¶Ë·¢Ë굀 SQL Óï¾äÖÐʹÓÃʲô×Ö·û¼¯¡£Òò´Ë£¬SET NAMES 'utf-8' Óï¾ä¸æËß·þÎñÆ÷“½«À´´ÓÕâ¸ö¿Í»§¶Ë´«À´µÄÐÅÏ¢²ÉÓÃ×Ö·û¼¯ utf-8”¡£Ëü»¹Îª·þÎñÆ÷·¢Ëͻؿͻ§¶ËµÄ½á¹ûÖ¸¶¨ÁË×Ö·û¼¯(ÀýÈ磬Èç¹ûÄãʹÓÃÒ»¸ö SELECT Óï¾ä£¬Ëü±íʾÁÐֵʹÓÃÁËʲô×Ö·û¼¯)¡£ ¶¨Î»ÎÊÌâʱ³£Óõļ¼ÇÉ ¶¨Î»ÖÐÎıàÂëÎÊÌâͨ³£²ÉÓÃ×µÄÒ²ÊÇ×îÓÐЧµÄ°ì·¨¨DÔÚÄãÈÏΪÓÐÏÓÒɵijÌÐò´¦Àíºó´òÓ¡×Ö·û´®µÄÄÚÂ롣ͨ¹ý´òÓ¡×Ö·û´®µÄÄÚÂ룬Äã¿ÉÒÔ·¢ÏÖʲôʱºòÖÐÎÄ×Ö·û±»×ª»»³É Unicode£¬Ê²Ã´Ê±ºòUnicode ±»×ª»ØÖÐÎÄÄÚÂ룬ʲôʱºòÒ»¸öÖÐÎÄ×Ö³ÉÁËÁ½¸ö Unicode ×Ö·û£¬Ê²Ã´Ê±ºòÖÐÎÄ×Ö·û´®±»×ª³ÉÁËÒ»´®Îʺţ¬Ê²Ã´Ê±ºòÖÐÎÄ×Ö·û´®µÄ¸ßλ±»½ØµôÁË…… È¡ÓúÏÊʵÄÑù±¾×Ö·û´®Ò²ÓÐÖúÓÚÇø·ÖÎÊÌâµÄÀàÐÍ¡£È磺"aa°¡ aa?@aa" µÈÖÐÓ¢Ïà¼ä£¬GB¡¢GBKÌØÕ÷×Ö·û¾ùÓеÄ×Ö·û´®¡£Ò»°ãÀ´Ëµ£¬Ó¢ÎÄ×Ö·ûÎÞÂÛÔõôת»»»ò´¦Àí£¬¶¼²»»áʧÕæ(Èç¹ûÓöµ½ÁË£¬¿ÉÒÔ³¢ÊÔ×ÅÔö¼ÓÁ¬ÐøµÄÓ¢ÎÄ×Öĸ³¤¶È)¡£ ½â¾ö¸÷ÖÖÓ¦ÓõÄÂÒÂëÎÊÌâ 1) ʹÓà ±êÇ©ÉèÖÃÒ³Ãæ±àÂë Õâ¸ö±êÇ©µÄ×÷ÓÃÊÇÉùÃ÷¿Í»§¶ËµÄä¯ÀÀÆ÷ÓÃʲô×Ö·û¼¯±àÂëÏÔʾ¸ÃÒ³Ã棬xxx ¿ÉÒÔΪ GB2312¡¢GBK¡¢UTF-8(ºÍ MySQL ²»Í¬£¬MySQL ÊÇ UTF8)µÈµÈ¡£Òò´Ë£¬´ó²¿·ÖÒ³Ãæ¿ÉÒÔ²ÉÓÃÕâÖÖ·½Ê½À´¸æËßä¯ÀÀÆ÷ÏÔʾÕâ¸öÒ³ÃæµÄʱºò²ÉÓÃʲô±àÂ룬ÕâÑù²Å²»»áÔì³É±àÂë´íÎó¶ø²úÉúÂÒÂë¡£µ«ÊÇÓеÄʱºòÎÒÃǻᷢÏÖÓÐÁËÕâ¾ä»¹ÊDz»ÐУ¬²»¹Ü xxx ÊÇÄÄÒ»ÖÖ£¬ä¯ÀÀÆ÷²ÉÓõÄʼÖÕ¶¼ÊÇÒ»ÖÖ±àÂ룬Õâ¸öÇé¿öÎÒºóÃæ»á̸µ½¡£ Çë×¢Ò⣬ ÊÇÊôÓÚ HTML ÐÅÏ¢µÄ£¬½ö½öÊÇÒ»¸öÉùÃ÷£¬½ö±íÃ÷·þÎñÆ÷ÒѾ°Ñ HTML ÐÅÏ¢´«µ½ÁËä¯ÀÀÆ÷¡£ 2) header("content-type:text/html; charset=xxx"); Õâ¸öº¯Êý header() µÄ×÷ÓÃÊÇ°ÑÀ¨ºÅÀïÃæµÄÐÅÏ¢·¢µ½ http ±êÍ·¡£Èç¹ûÀ¨ºÅÀïÃæµÄÄÚÈÝΪÎÄÖÐËù˵ÄÇÑù£¬ÄÇ×÷ÓÃºÍ ±êÇ©»ù±¾Ïàͬ£¬´ó¼Ò¶ÔÕÕµÚÒ»¸ö¿´·¢ÏÖ×Ö·û¶¼²î²»¶àµÄ¡£µ«ÊDz»Í¬µÄÊÇÈç¹ûÓÐÕâ¶Îº¯Êý£¬ä¯ÀÀÆ÷¾Í»áÓÀÔ¶²ÉÓÃÄãËùÒªÇóµÄ xxx ±àÂ룬¾ø¶Ô²»»á²»Ìý»°£¬Òò´ËÕâ¸öº¯ÊýÊǺÜÓÐÓõġ£ÎªÊ²Ã´»áÕâÑùÄØ?ÄǾ͵Ã˵˵ http ±êÍ·ºÍ HTMLÐÅÏ¢µÄ²î±ðÁË£º http ±êÍ·ÊÇ·þÎñÆ÷ÒÔ http ÐÒé´«ËÍ HTML ÐÅÏ¢µ½ä¯ÀÀÆ÷Ç°ËùËͳöµÄ×Ö´®¡£¶ø ±êÇ©ÊÇÊôÓÚ HTML ÐÅÏ¢µÄ£¬ËùÒÔ header() ·¢Ë͵ÄÄÚÈÝÏȵ½´ïä¯ÀÀÆ÷£¬Í¨Ë×µã¾ÍÊÇ header() µÄÓÅÏȼ¶¸ßÓÚ (²»ÖªµÀ¿É²»¿ÉÒÔÕâÑù½²)¡£¼ÙÈçÒ»¸ö php Ò³Ãæ¼ÈÓÐheader("content-type:text/html;charset=xxx")£¬ÓÖÓУ¬ä¯ÀÀÆ÷¾ÍÖ»ÈÏÇ°Õß http ±êÍ·¶ø²»ÈÏ meta ÁË¡£µ±È»Õâ¸öº¯ÊýÖ»ÄÜÔÚ php Ò³ÃæÄÚʹÓᣠͬÑùÒ²ÁôÓÐÒ»¸öÎÊÌ⣬ΪʲôǰÕ߾;ø¶ÔÆð×÷Ó㬶øºóÕßÓÐʱºò¾Í²»ÐÐÄØ?Õâ¾ÍÊǽÓÏÂÀ´ÒªÌ¸µÄApache µÄÔÒòÁË¡£ 3) AddDefaultCharset Apache ¸ùĿ¼µÄ conf Îļþ¼ÐÀÓÐÕû¸ö Apache µÄÅäÖÃÎĵµ httpd.conf¡£ ÓÃÎı¾±à¼Æ÷´ò¿ª httpd.conf£¬µÚ 708 ÐÐ(²»Í¬°æ±¾¿ÉÄܲ»Í¬)ÓÐ AddDefaultCharset xxx£¬xxxΪ±àÂëÃû³Æ¡£ÕâÐдúÂëµÄÒâ˼£ºÉèÖÃÕû¸ö·þÎñÆ÷ÄÚµÄÍøÒ³Îļþ http ±êÍ·ÀïµÄ×Ö·û¼¯ÎªÄãĬÈ쵀 xxx×Ö·û¼¯¡£ÓÐÕâÐУ¬¾ÍÏ൱ÓÚ¸øÿ¸öÎļþ¶¼¼ÓÁËÒ»ÐÐ header("content-type:text/html; charset=xxx")¡£ÕâϾÍÃ÷°×ΪʲôÃ÷Ã÷ ÉèÖÃÁËÊÇ utf-8£¬¿Éä¯ÀÀÆ÷ʼÖÕ²ÉÓà gb2312 µÄÔÒò¡£ Èç¹ûÍøÒ³ÀïÓÐ header("content-type:text/html; charset=xxx")£¬¾Í°ÑĬÈϵÄ×Ö·û¼¯¸ÄΪÄãÉèÖõÄ×Ö·û¼¯£¬ËùÒÔÕâ¸öº¯ÊýÓÀÔ¶ÓÐÓá£Èç¹û°Ñ AddDefaultCharset xxx Ç°Ãæ¼Ó¸ö"#"£¬×¢Ê͵ôÕâ¾ä£¬¶øÇÒÒ³ÃæÀï²»º¬ header("content-type…")£¬ÄÇÕâ¸öʱºò¾ÍÂÖµ½ meta ±êÇ©Æð×÷ÓÃÁË¡£ ÏÂÃæÁгöÒÔÉϵÄÓÅÏÈ˳Ðò£º .. header("content-type:text/html; charset=xxx") .. AddDefaultCharset xxx .. Èç¹ûÄãÊÇ web ³ÌÐòÔ±£¬½¨Òé¸øÄãµÄÿ¸öÒ³Ã涼¼Ó¸öheader("content-type:text/html;charset=xxx")£¬ÕâÑù¾Í¿ÉÒÔ±£Ö¤ËüÔÚÈκηþÎñÆ÷¶¼ÄÜÕýÈ·ÏÔʾ£¬¿ÉÒÆÖ²ÐÔÒ²±È½ÏÇ¿¡£ 4) php.ini ÖÐµÄ default_charset ÅäÖ㺠php.ini ÖÐµÄ default_charset = "gb2312" ¶¨ÒåÁË php µÄĬÈÏÓïÑÔ×Ö·û¼¯¡£Ò»°ãÍƼö×¢Ê͵ô´ËÐУ¬ÈÃä¯ÀÀÆ÷¸ù¾ÝÍøҳͷÖÐµÄ charset À´×Ô¶¯Ñ¡ÔñÓïÑÔ¶ø·Ç×öÒ»¸öÇ¿ÖÆÐԵĹ涨£¬ÕâÑù¾Í¿ÉÒÔÔŲ́ͬ·þÎñÆ÷ÉÏÌṩ¶àÖÖÓïÑÔµÄÍøÒ³·þÎñ¡£ ½áÊøÓï Æäʵ php ¿ª·¢ÖеÄÖÐÎıàÂ벢ûÓÐÏëÏñµÄÄÇô¸´ÔÓ£¬ËäÈ»¶¨Î»ºÍ½â¾öÎÊÌâûÓж¨¹æ£¬¸÷ÖÖÔËÐл·¾³Ò²¸÷²»¾¡È»£¬µ«ºóÃæµÄÔÀíÊÇÒ»ÑùµÄ¡£Á˽â×Ö·û¼¯µÄ֪ʶÊǽâ¾ö×Ö·ûÎÊÌâµÄ»ù´¡¡£²»¹ý£¬Ëæ×ÅÖÐÎÄ×Ö·û¼¯µÄ±ä»¯£¬²»½ö½öÊÇ php ±à³Ì£¬ÖÐÎÄÐÅÏ¢´¦ÀíÖеÄÎÊÌ⻹ÊÇ»á´æÔÚÒ»¶Îʱ¼äµÄ¡£ (ÔðÈα༣ºadmin) |