求助!,html转码后变乱码,无法恢复中文乱码转码!

程序中的汉字变乱码的解决方法
我的图书馆
程序中的汉字变乱码的解决方法
汉字出现乱码有好几种情况,大致可分成四类:网页、文本、文档和文件乱码。第一类是由于港台的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用造成的;第二类是系统(菜单、桌面、提示框)显示乱码,这是注册表中有关字体的部分设置不当引起的;第三类是各种应用程序(包括游戏)本来显示中文的地方出现乱码,形成原因比较复杂,有第二类的乱码原因,也可能是软件用到的中文动态链接库被英文动态链接库覆盖造成的;最后一类是邮件乱码。 (一)、网页、文本和文档文件乱码的消除 网页乱码是浏览器(如IE等)对HTML网页解释时形成的。如果在网页的代码中有形如:〈HTML〉〈HEAD〉〈META CONTENT=“text/html;charset=ISO-8859-1”〉〈/HEAD〉……〈/HTML〉的语句,浏览器在显示此页时,就会出现乱码。因为浏览器会将此页语种辨认为“欧洲语系”。解决的办法是将语种“ISO-8859-1”改为GB2312,如果是繁体网页则改为BIG5。 另一种解决办法是不修改网页代码,事先为浏览器安装多语言支持包(例如在安装IE时要安装多语言支持包),这样在浏览网页出现乱码时,就可以在浏览器中选择菜单栏下的“查看”/“编码”/“自动选择”/简体中文(GB2312),如为繁体中文则选择“查看”/“编码”/“自动选择”/繁体中文(BIG5),其它语言依此类推选择相应的语系,这样可消除网页乱码现象。 还有一种解决办法是利用多内码显示平台来转换内码。常用多内码显示平台有:“南极星”、“四通利方”、“MagicWin 98等等。 网页无乱码保存的方法是:用浏览器打开网页时,在“查看”/“编码”中选择“自动选择”,存盘时保存类型选“web页”,编码选择“UNICOD”,这样保存过的网页再次打开时,在浏览器菜单“查看”、“编码”中不管选择简体中文(GB2312)、简体中文(HZ)还是UNICODE(UTF-8)或繁体中文(BIG5),最终显示都不会出现乱码。 文本、文档文件乱码,一般是繁体中文显示在简体中文系统下或者相反情况造成的。只要把原本是繁体的内码转换为简体内码(或者相反),就可消除乱码。 Word能胜任这类工作,例如要把繁体中文转换为简体中文,方法是:选择要转换内码的文件,在弹出的对话框中,选择“其它编码”中的“繁体中文(BIG5)”一项,打开此文件时就不会出现乱码。无乱码保存方法:在保存时选择“文件”中的“另存为”,先存为“Word文档,存盘后打开再存为纯文本等其它格式;您也可以用Word的“中文简繁转换”工具实现无乱码保存,方法是在菜单栏中选择“工具/语言/中文简繁转换”,内码转换后再保存。 除此之外,消除这类乱码还可用内码转换工具,对BIG5(繁体中文)和GB2312(国标码、简体中文)进行相互转换来实现。常用的内码转换工具有:“飓风简繁通、“内码转换大师、“华语通、“两岸通汉字内码转换器等等 (二)、系统乱码的消除 这类乱码是由于注册表中关于字体部分配置不正常造成的,即使您用内码翻译软件如四通利方、南极星、Magic Win98、两岸通等处理也不会消除。解决办法是:恢复注册表中关于字体部分设置。 如有一台版本相同且显示正常的机器,则可依下列步骤进行恢复: 1.在正常机器上选择“开始”/“运行”,在对话框中键入“REGEDIT”,打开注册表编辑器; 2.光标定位到“HKEY_LOCAL_MACHINE\ SYSTEM\CURRENT CONTROL SET\CONTROL\ FONTASSOC”,选择“注册表/导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如LI.REG)中; 3.把LI.REG文件Copy到显示乱码的机器上,在显示乱码机器上运行REGEDIT,选择“注册注册表”/“导入注册注册表”,把LI.REG文件导入注册表中。 如没有版本相同且显示正常的机器,则需要您手工恢复字体部分注册表项,按以下步骤: 1.在乱码机器上打开“开始”——“运行”——REGEDIT,然后回车,打开注册表编辑器; 2.找到“HKEY_LOCAL_MACHINE\SYSTEM\ CURRENT CONTROL SET\CONTROL\FONTASSOC”,正常情况下,会有ASSOCIATED DEFAULTFONTS、ASSOCIATED CHARSET两个文件夹,其正确的内容为: Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated Charset]"ANSI(00)"="YES""OEM(FF)"="YES""SYMBOL(02)"="NO"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated DefaultFonts]"AssocSystemFont"="simsun.ttc""FontPackage"="新宋体""FontPackageDontCare"="新宋体""FontPackageRoman"="新宋体""FontPackageSwiss"="新宋体""FontPackageModern"="新宋体""FontPackageScript"="新宋体""FontPackageDecorative"="新宋体"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated Fonts]@=""3.当出现汉字乱码时,上述两个文件夹中内容就会不完整,有的没有ASSOCIATED CHARSET文件夹或其中内容残缺不全;有的ASSOCIATED DEFAULTFONTS下内容残缺。只要用REGEDIT在“HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\ CONTROL\FONTASSOC”下,根据以上正确内容恢复即可。 (三)、应用程序(包括游戏)乱码的消除 中文软件菜单等显示界面上出现乱码,可能是由于Windows注册表中关于字体设置的信息不正确地改变而造成的,这时候可以用上述第2点介绍的办法去解决。 如果用上法解决不了,那就是因为软件的中文链接库被英文链接库覆盖而引起的,这种现象经常发生在用微软开发工具例如VB、VC开发的中文软件上,这类软件中,菜单等显示界面上的汉字都是受一个动态链接库(DLL文件)控制,而软件的这个动态链接库一般安装在Windows的System目录下,如果以后安装了某个英文软件也使用同名的动态链接库,则英文软件的动态链接库就会覆盖WINDOWS\SYSTEM下的中文软件的动态链接库,这样,运行中文软件时就会调用英文的动态链接库,因此出现乱码。解决办法是重新安装中文软件,恢复中文动态链接库即可。 汉字出现乱码有好几种情况,大致可分成四类:网页、文本、文档和文件乱码。第一类是由于港台的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用造成的;第二类是系统(菜单、桌面、提示框)显示乱码,这是注册表中有关字体的部分设置不当引起的;第三类是各种应用程序(包括游戏)本来显示中文的地方出现乱码,形成原因比较复杂,有第二类的乱码原因,也可能是软件用到的中文动态链接库被英文动态链接库覆盖造成的;最后一类是邮件乱码。 (一)、网页、文本和文档文件乱码的消除 网页乱码是浏览器(如IE等)对HTML网页解释时形成的。如果在网页的代码中有形如:〈HTML〉〈HEAD〉〈META CONTENT=“text/html;charset=ISO-8859-1”〉〈/HEAD〉……〈/HTML〉的语句,浏览器在显示此页时,就会出现乱码。因为浏览器会将此页语种辨认为“欧洲语系”。解决的办法是将语种“ISO-8859-1”改为GB2312,如果是繁体网页则改为BIG5。 另一种解决办法是不修改网页代码,事先为浏览器安装多语言支持包(例如在安装IE时要安装多语言支持包),这样在浏览网页出现乱码时,就可以在浏览器中选择菜单栏下的“查看”/“编码”/“自动选择”/简体中文(GB2312),如为繁体中文则选择“查看”/“编码”/“自动选择”/繁体中文(BIG5),其它语言依此类推选择相应的语系,这样可消除网页乱码现象。 还有一种解决办法是利用多内码显示平台来转换内码。常用多内码显示平台有:“南极星”、“四通利方”、“MagicWin 98等等。 网页无乱码保存的方法是:用浏览器打开网页时,在“查看”/“编码”中选择“自动选择”,存盘时保存类型选“web页”,编码选择“UNICOD”,这样保存过的网页再次打开时,在浏览器菜单“查看”、“编码”中不管选择简体中文(GB2312)、简体中文(HZ)还是UNICODE(UTF-8)或繁体中文(BIG5),最终显示都不会出现乱码。 文本、文档文件乱码,一般是繁体中文显示在简体中文系统下或者相反情况造成的。只要把原本是繁体的内码转换为简体内码(或者相反),就可消除乱码。 Word能胜任这类工作,例如要把繁体中文转换为简体中文,方法是:选择要转换内码的文件,在弹出的对话框中,选择“其它编码”中的“繁体中文(BIG5)”一项,打开此文件时就不会出现乱码。无乱码保存方法:在保存时选择“文件”中的“另存为”,先存为“Word文档,存盘后打开再存为纯文本等其它格式;您也可以用Word的“中文简繁转换”工具实现无乱码保存,方法是在菜单栏中选择“工具/语言/中文简繁转换”,内码转换后再保存。 除此之外,消除这类乱码还可用内码转换工具,对BIG5(繁体中文)和GB2312(国标码、简体中文)进行相互转换来实现。常用的内码转换工具有:“飓风简繁通、“内码转换大师、“华语通、“两岸通汉字内码转换器等等 (二)、系统乱码的消除 这类乱码是由于注册表中关于字体部分配置不正常造成的,即使您用内码翻译软件如四通利方、南极星、Magic Win98、两岸通等处理也不会消除。解决办法是:恢复注册表中关于字体部分设置。 如有一台版本相同且显示正常的机器,则可依下列步骤进行恢复: 1.在正常机器上选择“开始”/“运行”,在对话框中键入“REGEDIT”,打开注册表编辑器; 2.光标定位到“HKEY_LOCAL_MACHINE\ SYSTEM\CURRENT CONTROL SET\CONTROL\ FONTASSOC”,选择“注册表/导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如LI.REG)中; 3.把LI.REG文件Copy到显示乱码的机器上,在显示乱码机器上运行REGEDIT,选择“注册注册表”/“导入注册注册表”,把LI.REG文件导入注册表中。 如没有版本相同且显示正常的机器,则需要您手工恢复字体部分注册表项,按以下步骤: 1.在乱码机器上打开“开始”——“运行”——REGEDIT,然后回车,打开注册表编辑器; 2.找到“HKEY_LOCAL_MACHINE\SYSTEM\ CURRENT CONTROL SET\CONTROL\FONTASSOC”,正常情况下,会有ASSOCIATED DEFAULTFONTS、ASSOCIATED CHARSET两个文件夹,其正确的内容为: Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated Charset]"ANSI(00)"="YES""OEM(FF)"="YES""SYMBOL(02)"="NO"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated DefaultFonts]"AssocSystemFont"="simsun.ttc""FontPackage"="新宋体""FontPackageDontCare"="新宋体""FontPackageRoman"="新宋体""FontPackageSwiss"="新宋体""FontPackageModern"="新宋体""FontPackageScript"="新宋体""FontPackageDecorative"="新宋体"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc\Associated Fonts]@=""3.当出现汉字乱码时,上述两个文件夹中内容就会不完整,有的没有ASSOCIATED CHARSET文件夹或其中内容残缺不全;有的ASSOCIATED DEFAULTFONTS下内容残缺。只要用REGEDIT在“HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\ CONTROL\FONTASSOC”下,根据以上正确内容恢复即可。 (三)、应用程序(包括游戏)乱码的消除 中文软件菜单等显示界面上出现乱码,可能是由于Windows注册表中关于字体设置的信息不正确地改变而造成的,这时候可以用上述第2点介绍的办法去解决。 如果用上法解决不了,那就是因为软件的中文链接库被英文链接库覆盖而引起的,这种现象经常发生在用微软开发工具例如VB、VC开发的中文软件上,这类软件中,菜单等显示界面上的汉字都是受一个动态链接库(DLL文件)控制,而软件的这个动态链接库一般安装在Windows的System目录下,如果以后安装了某个英文软件也使用同名的动态链接库,则英文软件的动态链接库就会覆盖WINDOWS\SYSTEM下的中文软件的动态链接库,这样,运行中文软件时就会调用英文的动态链接库,因此出现乱码。解决办法是重新安装中文软件,恢复中文动态链接库即可。
发表评论:
TA的最新馆藏那种汉字转换成百分号乱码的怎么还原? - 饮水思源
饮水思源 - 主题文章阅读  [讨论区: Script]本主题共有 15 篇文章,分 1 页, 当前显示第 1 页 []
[][] 发信人: (我是嘟嘟), 信区: Script
题: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日10:32:17 星期五), 站内信件
比如文件名是
%CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
有没有什么工具或者在线翻译网站
※ 来源:?饮水思源 bbs.?[FROM: 120.35.11.138]
[][] 发信人: ([光明作使@嘉7如梦 ~]$ ), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日10:38:37 星期五), 站内信件
这个应该不叫乱码吧
google url encode
【 在 linjia (我是嘟嘟) 的大作中提到: 】
: 比如文件名是
: %CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
: 有没有什么工具或者在线翻译网站
著名的歪楼活动家、板聊组织者、零回复消灭人士
久经考验的灌水员、sf战士prompt
因本帖无人回复,医治无效,不幸去世
※ 来源:?饮水思源 bbs.?[FROM: 192.55.55.37]
[][] 发信人: (宅死了)(我不是小 X), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日10:43:44 星期五), 站内信件
一眼看不懂的都可以叫乱码
【 在 prompt ([光明作使@嘉7如梦 ~]$ ) 的大作中提到: 】
: 这个应该不叫乱码吧
: google url encode
: 【 在 linjia (我是嘟嘟) 的大作中提到: 】
: : 比如文件名是
: : %CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
: : 有没有什么工具或者在线翻译网站
忘按 Ctrl 了~
※ 来源:?饮水思源 bbs.?[FROM: 2001:da8::ca0a:a9ff:fe72:7a0d]
[][] 发信人: (毛毛|学生信息员9527), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日10:44:49 星期五), 站内信件
GBK? Good luck.
【 在 linjia (我是嘟嘟) 的大作中提到: 】
: 比如文件名是
: %CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
: 有没有什么工具或者在线翻译网站
※ 来源:?饮水思源 bbs.?[FROM: 211.68.71.66]
[][] 发信人: oldhurl (vt. 猛投,狠掷;大声叫骂), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日10:47:34 星期五), 站内信件
【 在 linjia (我是嘟嘟) 的大作中提到: 】
: 比如文件名是
: %CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
: 有没有什么工具或者在线翻译网站
※ 来源:?饮水思源 bbs.?[FROM: 60.247.79.132]
[][] 发信人: ([光明作使@嘉7如梦 ~]$ ), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日10:48:08 星期五), 站内信件
in python3
urllib.parse.unquote_to_bytes("%CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4").deco
'统一建模语言'
【 在 linjia (我是嘟嘟) 的大作中提到: 】
: 比如文件名是
: %CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
: 有没有什么工具或者在线翻译网站
q┐q┐____
______ ____ _____ _______
___// ___\\__
管他期末考试还是世界末日
&_& )___ \\
\___ / __ \|
| \/q┐q-r
12届水源奥斯卡
t┼r \____/____
│││ │末世狂欢 百无禁忌
│q-s juhui waiting...
└st┴┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄ └-┴┴─┘ ┅┄┅┄┅┄┅┄
※ 来源:?饮水思源 bbs.?[FROM: 192.55.55.37]
[][] 发信人: (毛毛|学生信息员9527), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日10:54:27 星期五), 站内信件
js 解GBK 有点麻烦.
#/usr/bin/php
$gbStr = urldecode('%CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4');
$utfStr = iconv('GBK','UTF-8//IGNORE',$gbStr);
echo $utfS //统一建模语言
echo urlencode($utfStr);
// %E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80
var a = '%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80';
alert(decodeURIComponent(a));
//统一建模语言
【 在 linjia (我是嘟嘟) 的大作中提到: 】
: 比如文件名是
: %CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
: 有没有什么工具或者在线翻译网站
※ 来源:?饮水思源 bbs.?[FROM: 211.68.71.66]
[][] 发信人: (我是嘟嘟), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日11:07:37 星期五), 站内信件
thx, 收藏了
【 在 oldhurl (vt. 猛投,狠掷;大声叫骂) 的大作中提到: 】
【 在 linjia (我是嘟嘟) 的大作中提到: 】
: 比如文件名是
: %CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4
: 有没有什么工具或者在线翻译网站
※ 来源:?饮水思源 bbs.?[FROM: 120.35.11.138]
[][] 发信人: (方糖|似水流年|我是天蝎大使), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日11:53:48 星期五), 站内信件
勿黑我大JS
【 在 MiaoMiao (毛毛|学生信息员9527) 的大作中提到: 】
: js 解GBK 有点麻烦.
: #/usr/bin/php
: $gbStr = urldecode('%CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4');
: $utfStr = iconv('GBK','UTF-8//IGNORE',$gbStr);
: echo $utfS //统一建模语言
: echo urlencode($utfStr);
: // %E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80
: var a = '%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80';
: alert(decodeURIComponent(a));
: .................(以下省略)
ts .+¨+。
不是习惯冷漠qˇ
ˇ而是不想让狂热的深情
一一被窥透
qr未了的是一愁
难改的痴情ˇ。 ts .+¨ 所以最终
Scorpius 天蝎座
选择了隐逸
※ 来源:?饮水思源 bbs.?[FROM: 117.136.8.64]
[][] 发信人: (黑暗游侠|好好学习), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日12:01:36 星期五), 站内信件
js貌似没有内建支持gbk啊
除了查表,还有什么好方法?
【 在 scaret (方糖|似水流年|我是天蝎大使) 的大作中提到: 】
: 勿黑我大JS
: 【 在 MiaoMiao (毛毛|学生信息员9527) 的大作中提到: 】
: : js 解GBK 有点麻烦.
: : #/usr/bin/php
: : $gbStr = urldecode('%CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4');
: : $utfStr = iconv('GBK','UTF-8//IGNORE',$gbStr);
: : echo $utfS //统一建模语言
: : echo urlencode($utfStr);
: : // %E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80
: .................(以下省略)
Silence [E]
Stops all enemies in a target area from casting spells.
※ 来源:?饮水思源 bbs.?[FROM: 60.191.2.238]
[][] 发信人: ([光明作使@嘉7如梦 ~]$ ), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日12:20:14 星期五), 站内信件
【 在 dps (黑暗游侠|好好学习) 的大作中提到: 】
: js貌似没有内建支持gbk啊
: 除了查表,还有什么好方法?
: 【 在 scaret (方糖|似水流年|我是天蝎大使) 的大作中提到: 】
: : 勿黑我大JS
: : .................(以下省略)
q┐q┐____
______ ____ _____ _______
___// ___\\__
管他期末考试还是世界末日
&_& )___ \\
\___ / __ \|
| \/q┐q-r
12届水源奥斯卡
t┼r \____/____
│││ │末世狂欢 百无禁忌
│q-s juhui waiting...
└st┴┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄ └-┴┴─┘ ┅┄┅┄┅┄┅┄
※ 来源:?饮水思源 bbs.?[FROM: 192.55.55.37]
[][] 发信人: (毛毛|学生信息员9527), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日12:57:05 星期五), 站内信件
【 在 scaret (方糖|似水流年|我是天蝎大使) 的大作中提到: 】
: 勿黑我大JS
: 【 在 MiaoMiao (毛毛|学生信息员9527) 的大作中提到: 】
: : js 解GBK 有点麻烦.
: : #/usr/bin/php
: : $gbStr = urldecode('%CD%B3%D2%BB%BD%A8%C4%A3%D3%EF%D1%D4');
: : $utfStr = iconv('GBK','UTF-8//IGNORE',$gbStr);
: : echo $utfS //统一建模语言
: : echo urlencode($utfStr);
: : // %E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80
: .................(以下省略)
※ 来源:?饮水思源 bbs.?[FROM: 211.68.71.66]
[][] 发信人: (毛毛|学生信息员9527), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日12:58:32 星期五), 站内信件
跟php 一样, 通过module 引入iconv.
【 在 dps (黑暗游侠|好好学习) 的大作中提到: 】
: js貌似没有内建支持gbk啊
: 除了查表,还有什么好方法?
: 【 在 scaret (方糖|似水流年|我是天蝎大使) 的大作中提到: 】
: : 勿黑我大JS
: : .................(以下省略)
※ 来源:?饮水思源 bbs.?[FROM: 211.68.71.66]
[][] 发信人: (仙贝), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日13:59:00 星期五)
【 在 MiaoMiao 的大作中提到: 】
: 跟php 一样, 通过module 引入iconv.
: 【 在 dps (黑暗游侠|好好学习) 的大作中提到: 】
: : js貌似没有内建支持gbk啊
: : 除了查表,还有什么好方法?
nodejs吧这……
Yours, Sincerely
※ 来源:?饮水思源 bbs.?[FROM: 219.228.118.116]
[][] 发信人: (zeus), 信区: Script
题: Re: 那种汉字转换成百分号乱码的怎么还原?
发信站: 饮水思源 (日22:05:20 星期五), 站内信件
我记得以前百度可以直接搜出这些东西的源字符的
【 在 XeCycle (宅死了)(我不是小 X) 的大作中提到: 】
: 一眼看不懂的都可以叫乱码
: 【 在 prompt ([光明作使@嘉7如梦 ~]$ ) 的大作中提到: 】
: : 这个应该不叫乱码吧
: : google url encode
这个世界只有一种浏览器――Vimperator
※ 来源:?饮水思源 bbs.?[FROM: 58.38.250.86]
本主题共有 15 篇文章,分 1 页, 当前显示第 1 页 [][][]乱码问题怎么转都不行?求解 - ITeye问答
System.out.println("ISO-8859-1 TO UTF-8:"+new String(title.getBytes("ISO-8859-1"), "UTF-8"));
System.out.println("GBK TO UTF-8"+new String(title.getBytes("GBK"), "UTF-8"));
System.out.println("GB2312 TO UTF-8"+new String(title.getBytes("GB2312"), "UTF-8"));
System.out.println("UTF-16 TO UTF-8"+new String(title.getBytes("UTF-16"), "UTF-8"));
结果是:
ISO-8859-1 TO UTF-8:*??:*??:title=*??:*??:
GBK TO UTF-8*??:*??:title=*??:*??:
GB2312 TO UTF-8*??:*??:title=*??:*??:
UTF-16 TO UTF-8??
是这个样子的我是用HTTPPOST向resteasy发送数据 在接受方出现乱码
public static String postContent(String url,String param) throws Exception {
String content = "";
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(
HttpProtocolParams.HTTP_CONTENT_CHARSET, "UTF-8");
// 创建HttpGet
HttpPost post = new HttpPost(url);
StringEntity se= new StringEntity(param);
se.setContentType("application/x-www-form-charset=utf-8");
post.setEntity(se);
// 执行get请求
HttpResponse response = httpClient.execute(post);
//httpResponse.getEntity().consumeContent();
// 获取响应实体
HttpEntity entity = response.getEntity();
Header hed = entity.getContentType();
InputStream in =
if(entity != null){
in = response.getEntity().getContent();
if(post != null){
// 关闭连接,释放资源
post.abort();
IOUtils.closeQuietly(in);
httpClient.getConnectionManager().shutdown();
@Path("/addContent")
@Produces("application/charset=utf-8")
public String addContent(@FormParam("title") String title,
@FormParam("short_title") String short_title,@FormParam("author") String author,
@FormParam("description") String description,@FormParam("origin") String origin,
@FormParam("tag") String tag,@FormParam("is_bold") String is_bold,
@FormParam("origin_url") String origin_url,@FormParam("date") String date,
@FormParam("title_color") String title_color,@FormParam("text") String text
System.out.println("ISO-8859-1 TO UTF-8:"+new String(title.getBytes("ISO-8859-1"), "UTF-8"));
System.out.println("GBK TO UTF-8"+new String(title.getBytes("GBK"), "UTF-8"));
System.out.println("GB2312 TO UTF-8"+new String(title.getBytes("GB2312"), "UTF-8"));
System.out.println("UTF-16 TO UTF-8"+new String(title.getBytes("UTF-16"), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
System.out.println("short_title:"+short_title);
System.out.println("author:"+author);
System.out.println("description:"+description);
System.out.println("origin:"+origin);
System.out.println("tag:"+tag);
System.out.println("is_bold:"+is_bold);
System.out.println("origin_url:"+origin_url);
System.out.println("date:"+date);
System.out.println("title_color:"+title_color);
System.out.println("text:"+text);
String str = "1";
ContetExtService contentService = (ContetExtService)SpringApplicationContext.getBean("contetExtService");
String bold = is_
if(contentService.addContent(title, short_title, author, description, origin, tag, bold, origin_url, date, title_color)){
str = "0";
我调试了下你这个是编码设置的问题,在httpClient中发送中文的时候,将中文直接转成了ISO-8859-1造成了部分数据丢失,所以传过去本身就是错误的信息,怎么解码都不对。
你将postContent的第8行
StringEntity se= new StringEntity(param);
StringEntity se= new StringEntity(param, HTTP.UTF_8);
对待乱码问题,就用一种编码一路到底就没什么问题了
将Java/J2EE系统的统一编码定义为UTF-8。UTF-8编码是一种兼容所有语言的编码方式,惟一比较麻烦的就是要找到应用系统的所有出入口,然后使用UTF-8去“结扎”它。
  一个J2EE应用系统需要做下列几步工作:
1)开发和编译代码时指定字符集为UTF-8。JBuilder和Eclipse都可以在项目属性中设置。
2)使用过滤器,如果所有请求都经过一个Servlet控制分配器,那么使用Servlet的filter执行语句,将所有来自浏览器的请求(request)转换为UTF-8,因为浏览器发过来的请求包根据浏览器所在的操作系统编码,可能是各种形式编码。关键一句:
request.setCharacterEncoding("UTF-8")。
3)在JSP头部声明:&%@ page contentType="text/charset= UTF-8" %&。
4)在Jsp的html代码中,声明UTF-8:
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
5)设定数据库连接方式是UTF-8。例如连接MYSQL时配置URL如下:
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
6)其他和外界交互时能够设定编码时就设定UTF-8,例如读取文件,操作XML等。
发送中文之前用两次base64编码处理,收到数据后解码两次。
(1)确认下服务端servlet容器的默认解码方式,
tomcat下面可以用new String(title.getBytes("ISO-8859-1"), "UTF-8"),是因为tomcat的默认解码方式是ISO-8859-1,所以需要转换回来
(2)第一步不行的话可能就要质疑一下你的客户端是否真的就会按照utf-8对post数据进行编码了,对HttpClient不熟悉,帮不到你。
猜想是post提交参数会经过escape编码,取参数的时候unescape解码一下。相关工具百度之
思路有问题吧,你用UTF-8编码,又用GBK编码方式解码。不乱码才怪呢。怎么编码的就怎么解码。
请求方设置编码格式
对于函数postContent(String url,String param)param参数做UTF-8编码
有几个地方需要注意
1、JAVA文件的编码方式
2、编译时指定的编码方式
3、传输数据的编码方式
4、接收方解析的编码方式
如果都不指定编码方式JAVA会默认指定操作系统的编码方式,这样过程中就有可能出现乱码,
System.out.println("UTF-8 TO UTF-8:"+new String(title.getBytes("UTF-8"), "UTF-8")); 呢
确定编码设置好么????&
已解决问题
未解决问题}

我要回帖

更多关于 日文乱码在线转码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信