Èí¼þÂÒÂë¿ìËÙ½â¾ö
±àÂë¼ì²é£ºÈ·±£Ó¦ÓóÌÐòºÍ²Ù×÷ϵͳµÄ±àÂëÉèÖÃÒ»Ö¡£¿ÉÒÔ³¢?ÊÔ¸ü¸Ä×Ö·û±àÂë·½·¨£¬Èç´ÓUTF-8Çл»µ½GBK»òÕßGB2312¡£ÈôÊÇÎÊÌâÒÀ¾É£¬½¨ÒéÁªÏµÓ¦ÓóÌÐò¿ª·¢Ö°Ô±¾ÙÐбàÂë·½·¨µ÷½â¡£
Èí¼þ³åÍ»ÅŲ飺¹Ø±Õ»òÐ¶ÔØ¿ÉÄÜÔì³É³åÍ»µÄÈí¼þ£¬ÊÓ²ìÊÇ·ñÓиÄÉÆ¡£ÈôÊÇÎÊÌâÒÀ¾É£¬¿ÉÄÜÐèÒªÖØÐÂ×°ÖÃÈí¼þ»ò¸üвÙ?×÷ϵͳ¡£
ϵͳ¸üУº°´ÆÚ¸üвÙ×÷ϵͳºÍÓ¦ÓóÌ?Ðò£¬ÐÞ¸´ÒÑÖªµÄÎó²îºÍÎÊÌâ¡£ÈôÊÇÎÊÌâÒÀ¾É£¬½¨ÒéÁªÏµÊÖÒÕÖ§³ÖÖ°Ô±¾ÙÐÐϵͳ¸üлò¾ÙÐÐÆäËû¹ÊÕÏÅŲ顣
ava
ÔÚJavaÖУ¬¿ÉÒÔʹÓÃInputStreamReaderºÍOutputStreamWriterÖ¸¶¨Îļþ±àÂ룺
importjava.io.*;publicclassFileReaderExample{publicstaticvoidmain(Stringargs)throwsIOException{BufferedReaderreader=newBufferedReader(newInputStreamReader(newFileInputStream("example.txt"),"UTF-8"));Stringline;while((line=reader.readLine())!=null){System.out.println(line);}reader.close();}}
¹ú²úÂÒÂëµÄ³£¼ûÔµ¹ÊÔÓÉ
±àÂëÎÊÌ⣺ӰƬ±àÂ벻׼ȷ£¬µ¼Ö²¥·ÅÆ÷ÎÞ·¨×¼È·½âÂë¡£²¥·ÅÆ÷ÎÊÌ⣺ʹÓõÄ?²¥·ÅÆ÷²»Ö§³Ö¸ÃÊÓÆµµÄ±àÂëÃûÌá£×ÖÌåÎÊÌ⣺×ÖÌåÎļþɥʧ»òË𻵣¬µ¼ÖÂÏÔʾÂÒÂ롣ϵͳÎÊÌ⣺²Ù×÷ϵͳ»òÏà¹ØÈí¼þ°æ±¾¹ý¾É£¬ÎÞ·¨×¼È·Ö§³ÖÏÖ´úӰƬµÄ±àÂë¡£ÍøÂçÎÊÌâ£ºÍøÂçÅþÁ¬²»Îȹ̻òËٶȹýÂý£¬µ¼ÖÂӰƬ»º³å?Àú³ÌÖзºÆðÂÒÂë¡£
ʹÓùú¼Ê»¯ºÍÍâµØ»¯Ö§³Ö
ÔÚÈí¼þ¿ª·¢ÖУ¬Ó¦³ä·ÖʹÓùú¼Ê»¯£¨i18n£©ºÍÍâµØ»¯£¨l10n£©Ö§³Ö£¬È·±£Ó¦ÓÃÄܹ»×¼È·´¦Öóͷ£¶àÖÖÓïÑÔºÍ×Ö·û¼¯¡£³£?ÓõŤ¾ßºÍ¿âÈçGettext¡¢PythonµÄgettextÄ£¿éµÈ£¬¿ÉÒÔ×ÊÖú¿ª·¢ÕßʵÏÖ¶àÓïÑÔÖ§³Ö¡£
ÔÚ̽ÌÖÂÒÂëÒ»Çø¶þÇøÈý±àÂë·ÖÇøÒì³£µÄÌåÏÖ¼°½â¾ö¼Æ»®ºó£¬ÎÒÃÇÐèÒª¸üÉîÈëµØÏàʶÔõÑùÔÚÏÖʵӦÓÃÖÐÓÐÓõش¦Öóͷ£¶àÓïÑÔÇéÐÎϵÄ×Ö·û¼¯²»Æ¥ÅäÎÊÌâ¡£±¾ÎĽ«¼ÌÐøÉîÈëÆÊÎöÏêϸµÄʵÏÖÒªÁìºÍ×î¼Ñʵ¼ù£¬×ÊÖúÄúÔÚÏÖʵÊÂÇéÖиüºÃµØÓ¦¶ÔÕâÒ»ÖØ´óÎÊÌâ¡£
ython
ÔÚPythonÖУ¬¿ÉÒÔʹÓÃcodecs¿â¾ÙÐбàÂëת»»£¬²¢ÇÒÔÚ´¦Öóͷ£ÍøÂçÇëÇóʱ¿ÉÒÔͨ¹ýrequests¿âµÄheadersÉèÖÃContent-TypeÀ´Ö¸¶¨±àÂëÃûÌá£ÀýÈ磺
importrequestsresponse=requests.get('http://example.com',headers={'Accept-Charset':'UTF-8'})content=response.content.decode('utf-8')
×Ô¶¯»¯´¦Öóͷ£
importchardetimportcodecsdefdetect_and_convert_encoding(file_path):#¼ì²âÎļþ±à?Âëwithopen(file_path,'rb')asfile:raw_data=file.read()result=chardet.detect(raw_data)encoding=result'encoding'#·¿ªÎļþ²¢¶ÁÈ¡ÄÚÈÝwithcodecs.open(file_path,'r',encoding=encoding,errors='replace')asfile:content=file.read()#ͳһ±àÂëÃûÌÃΪUTF-8utf8_content=content.encode('utf-8',errors='replace')#ÉúÑÄÐÞ¸´ºóµÄÎļþwithcodecs.open('repaired_'+file_path,'w',encoding='utf-8')asfile:file.write(utf8_content.decode('utf-8'))#ʹÓÃʾÀýdetect_and_convert_encoding('example.txt')
³£¼ûÎÊÌâ¼°½â¾öÒªÁì
ÎÊÌ⣺±à¼Æ÷ÖÐÏÔʾÂÒÂë½â¾öÒªÁ죺ÔÚ±à¼Æ÷ÉèÖÃÖÐÑ¡ÔñUTF-8±àÂëÃûÌþÙÐÐÉúÑÄ¡£ÎÊÌ⣺ä¯ÀÀÆ÷ÏÔʾÂÒÂë½â¾öÒªÁ죺ÔÚä¯ÀÀÆ÷ÉèÖÃÖÐÌí¼Ó»òÈ·±£UTF-8±àÂëÃûÌÃÒÑÆôÓá£ÎÊÌ⣺·þÎñÆ÷·µ»ØÊý¾ÝÂÒÂë½â¾öÒªÁ죺ÔÚ·þÎñÆ÷¶Ë´úÂëÖÐÈ·±£?Êý¾ÝµÄ±àÂëÃûÌÃÒ»Ö£¬²¢ÔÚHTTPÍ·ÖÐÉèÖÃContent-TypeΪUTF-8¡£
У¶Ô£º³ÂÑÅÁÕ(6cEOas9M38Kzgk9u8uBurka8zPFcs4sd)



