中文pppoe中文拨号的解决方案
2015-11-18 13:14
417 查看
中文pppoe中文拨号的解决方案
1.首先,在编译服务器上编译出libiconv.ipk,make menuconfig命令之后,选择iconv选项,然后编译出来的bin文件中就有了libiconv软件。当然,在openwrt中也会有iconv命令。
接着,使用iconv -l命令查看支持的编码格式:
刚开始使用这个命令的时候,敲完这个命令,页面显示很少的编码格式支持,所以,我就在网上找到一篇博客,说的是在编译的时候需要把
然后我们就可以使用iconv命令了。
当然,之所以不支持中文拨号,是因为界面上的编码格式是utf-8,而电信服务器上是gb2312编码格式。
在这里,我提供一种思路,那就是在
代码先贴一下:
然后,我们就可以使用中文拨号,来连接pppoe服务器,搞定!
1.首先,在编译服务器上编译出libiconv.ipk,make menuconfig命令之后,选择iconv选项,然后编译出来的bin文件中就有了libiconv软件。当然,在openwrt中也会有iconv命令。
接着,使用iconv -l命令查看支持的编码格式:
ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII UTF-8 ISO-10646-UCS-2 UCS-2 CSUNICODE UCS-2BE UNICODE-1-1 UNICODEBIG CSUNICODE11 UCS-2LE UNICODELITTLE ISO-10646-UCS-4 UCS-4 CSUCS4 UCS-4BE UCS-4LE UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7 UCS-2-INTERNAL UCS-2-SWAPPED UCS-4-INTERNAL UCS-4-SWAPPED C99 JAVA CP819 IBM819 ISO-8859-1 ISO-IR-100 ISO8859-1 ISO_8859-1 ISO_8859-1:1987 L1 LATIN1 CSISOLATIN1 ISO-8859-2 ISO-IR-101 ISO8859-2 ISO_8859-2 ISO_8859-2:1987 L2 LATIN2 CSISOLATIN2 ISO-8859-3 ISO-IR-109 ISO8859-3 ISO_8859-3 ISO_8859-3:1988 L3 LATIN3 CSISOLATIN3 ISO-8859-4 ISO-IR-110 ISO8859-4 ISO_8859-4 ISO_8859-4:1988 L4 LATIN4 CSISOLATIN4 CYRILLIC ISO-8859-5 ISO-IR-144 ISO8859-5 ISO_8859-5 ISO_8859-5:1988 CSISOLATINCYRILLIC ARABIC ASMO-708 ECMA-114 ISO-8859-6 ISO-IR-127 ISO8859-6 ISO_8859-6 ISO_8859-6:1987 CSISOLATINARABIC ECMA-118 ELOT_928 GREEK GREEK8 ISO-8859-7 ISO-IR-126 ISO8859-7 ISO_8859-7 ISO_8859-7:1987 ISO_8859-7:2003 CSISOLATINGREEK HEBREW ISO-8859-8 ISO-IR-138 ISO8859-8 ISO_8859-8 ISO_8859-8:1988 CSISOLATINHEBREW ISO-8859-9 ISO-IR-148 ISO8859-9 ISO_8859-9 ISO_8859-9:1989 L5 LATIN5 CSISOLATIN5 ISO-8859-10 ISO-IR-157 ISO8859-10 ISO_8859-10 ISO_8859-10:1992 L6 LATIN6 CSISOLATIN6 ISO-8859-11 ISO8859-11 ISO_8859-11 ISO-8859-13 ISO-IR-179 ISO8859-13 ISO_8859-13 L7 LATIN7 ISO-8859-14 ISO-CELTIC ISO-IR-199 ISO8859-14 ISO_8859-14 ISO_8859-14:1998 L8 LATIN8 ISO-8859-15 ISO-IR-203 ISO8859-15 ISO_8859-15 ISO_8859-15:1998 LATIN-9 ISO-8859-16 ISO-IR-226 ISO8859-16 ISO_8859-16 ISO_8859-16:2001 L10 LATIN10 KOI8-R CSKOI8R KOI8-U KOI8-RU CP1250 MS-EE WINDOWS-1250 CP1251 MS-CYRL WINDOWS-1251 CP1252 MS-ANSI WINDOWS-1252 CP1253 MS-GREEK WINDOWS-1253 CP1254 MS-TURK WINDOWS-1254 CP1255 MS-HEBR WINDOWS-1255 CP1256 MS-ARAB WINDOWS-1256 CP1257 WINBALTRIM WINDOWS-1257 CP1258 WINDOWS-1258 850 CP850 IBM850 CSPC850MULTILINGUAL 862 CP862 IBM862 CSPC862LATINHEBREW 866 CP866 IBM866 CSIBM866 MAC MACINTOSH MACROMAN CSMACINTOSH MACCENTRALEUROPE MACICELAND MACCROATIAN MACROMANIA MACCYRILLIC MACUKRAINE MACGREEK MACTURKISH MACHEBREW MACARABIC MACTHAI HP-ROMAN8 R8 ROMAN8 CSHPROMAN8 NEXTSTEP ARMSCII-8 GEORGIAN-ACADEMY GEORGIAN-PS KOI8-T CP154 CYRILLIC-ASIAN PT154 PTCP154 CSPTCP154 MULELAO-1 CP1133 IBM-CP1133 ISO-IR-166 TIS-620 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1 CP874 WINDOWS-874 VISCII VISCII1.1-1 CSVISCII TCVN TCVN-5712 TCVN5712-1 TCVN5712-1:1993 ISO-IR-14 ISO646-JP JIS_C6220-1969-RO JP CSISO14JISC6220RO JISX0201-1976 JIS_X0201 X0201 CSHALFWIDTHKATAKANA ISO-IR-87 JIS0208 JIS_C6226-1983 JIS_X0208 JIS_X0208-1983 JIS_X0208-1990 X0208 CSISO87JISX0208 ISO-IR-159 JIS_X0212 JIS_X0212-1990 JIS_X0212.1990-0 X0212 CSISO159JISX02121990 CN GB_1988-80 ISO-IR-57 ISO646-CN CSISO57GB1988 CHINESE GB_2312-80 ISO-IR-58 CSISO58GB231280 CN-GB-ISOIR165 ISO-IR-165 ISO-IR-149 KOREAN KSC_5601 KS_C_5601-1987 KS_C_5601-1989 CSKSC56011987 EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE MS_KANJI SHIFT-JIS SHIFT_JIS SJIS CSSHIFTJIS CP932 ISO-2022-JP CSISO2022JP ISO-2022-JP-1 ISO-2022-JP-2 CSISO2022JP2 CN-GB EUC-CN EUCCN GB2312 CSGB2312 GBK CP936 MS936 WINDOWS-936 GB18030 ISO-2022-CN CSISO2022CN ISO-2022-CN-EXT HZ HZ-GB-2312 EUC-TW EUCTW CSEUCTW BIG-5 BIG-FIVE BIG5 BIGFIVE CN-BIG5 CSBIG5 CP950 BIG5-HKSCS:1999 BIG5-HKSCS:2001 BIG5-HKSCS BIG5-HKSCS:2004 BIG5HKSCS EUC-KR EUCKR CSEUCKR CP949 UHC CP1361 JOHAB ISO-2022-KR CSISO2022KR 437 CP437 IBM437 CSPC8CODEPAGE437 CP737 CP775 IBM775 CSPC775BALTIC 852 CP852 IBM852 CSPCP852 CP853 855 CP855 IBM855 CSIBM855 857 CP857 IBM857 CSIBM857 CP858 860 CP860 IBM860 CSIBM860 861 CP-IS CP861 IBM861 CSIBM861 863 CP863 IBM863 CSIBM863 CP864 IBM864 CSIBM864 865 CP865 IBM865 CSIBM865 869 CP-GR CP869 IBM869 CSIBM869 CP1125
刚开始使用这个命令的时候,敲完这个命令,页面显示很少的编码格式支持,所以,我就在网上找到一篇博客,说的是在编译的时候需要把
zhangge@Server-SW-X03:~/openwrt-3.10.14/package/libs/libiconv-full/patches$目录下的100-开头的文件删除掉,因为这个文件会不支持所有亚洲编码。然后就可以使用更多的编码格式了,在这里感谢博主的分享。
然后我们就可以使用iconv命令了。
当然,之所以不支持中文拨号,是因为界面上的编码格式是utf-8,而电信服务器上是gb2312编码格式。
在这里,我提供一种思路,那就是在
/usr/lib/lua/luci/cbi.lua中,改变两个函数的代码。
代码先贴一下:
-- UCI set function Map.set(self, section, option, value) if type(value) ~= "table" or #value > 0 then if option then if option == "username" then local is_success = self.uci:set(self.config, section, option, value) if is_success then luci.sys.call("echo \" i am in UCI set.\" >>/dev/console") luci.sys.call("cp -rf /etc/config/network /etc/config/network1") luci.sys.call("cp -rf /etc/config/network /etc/config/network2") luci.sys.call("cd /etc/config/;iconv -f utf-8 -t gb2312 -c network1>network;sleep 1;cd /usr/lib/lua/luci/") luci.sys.call("sleep 15 >/dev/null 2>&1") luci.sys.call("echo \" i am in iconv final!\" >>/dev/console") return true else return false end else self.uci:set(self.config, section, option, value) end else return self.uci:set(self.config, section, value) end else return Map.del(self, section, option) end end -- UCI get function Map.get(self, section, option) if not section then return self.uci:get_all(self.config) elseif option then if option == "username" then return self.uci:get(self.config..1, section, option) else return self.uci:get(self.config, section, option) end else return self.uci:get_all(self.config, section) end end这样的话,与服务器通信的编码就是network文件,此文件是gb2312的,而显示在页面上的编码就是network1文件,文件是utf-8格式的。
然后,我们就可以使用中文拨号,来连接pppoe服务器,搞定!
相关文章推荐
- Linux防火墙设置
- location.search
- hdu 1106 排序
- select count(*)和select count(1)的区别
- nyoj 44 子串和
- Heritrix3.3.0源码阅读 种子模块(观察者模式实践)
- private static final long serialVersionUID = 1L;
- Android开发教程01:Android的系统构架及特性
- 小工具 - 批量删除Maven下载失败的文件夹
- 字符串的一些判断
- GridControl 获取选中行的数量
- [Android] AsyncTask源码解析
- cocos 2d-x 3.0环境配置
- JQuery按照form下载文件+后台asp.net,非ajax(上)
- Linux的网卡由eth0变成了eth1,如何修复
- 用Qt写的一个仿Windows记事本程序
- 将自定义输入法设置为系统默认输入法
- MFC程序 调用控制台 显示调试信息
- iOS开发 -- 添加自定义ttf字体的方法
- javascript函数表达式