以ralink sdk中的goahead為例:
web/wireless/basic.asp中,有設定ssid的ui**,form關鍵內容如下:
這個action定義在src/wireless.c中
/* goform/wirelessbasic */**中,先讀取使用者提交的ssid:static void wirelessbasic(webs_t wp, char_t *path, char_t *query);
mssid_1 = websgetvar(wp, t("mssid_1"), t(""));然後寫入nvram:
nvram_bufset(rt2860_nvram, racat("ssid", i), mssid_1);nvram_bufset函式位於lib/libnvram/nvram_env.c中
ssid用utf-8格式儲存,而中文版windows由於其歷史原因,一直沿用gb2312作為其預設漢字編碼格式。
bufset 0 'ssid1'->'中文測試'修改**,加入hex string轉義:hexdump value: e4,b8,ad,e6,96,87,e6,b5,8b,e8,af,95,
int pos = 0;
char str[33] = ;
for(;;pos++)
nvram_bufset(rt2860_nvram, racat("ssid", i), str);
測試結果如下:
efbbbfe4b8ade69687 utf-8,手機正常,win7直接顯示ef.....總結:e4b8ade69687 手機正常,win7亂碼(涓 。。)openwrt系統採用的方式
fffe2d4e8765 utf-16,手機亂碼,win7顯示ff....
2d4e8765 utf-16無bom,手機亂碼,win7亂碼
d6d0cec4 gbk, 手機亂碼,win7正常
0102d6d0cec4 gbk, 手機亂碼(前面有空白字元),win7正常(說明win7對gbk有容錯性)
0100d6d0cec4 gbk, 手機空白字元,win7找不到該ap()
手機端: 正規utf-8編碼方式(op截斷了前導,會導致windows亂碼)
windows端: gbk編碼方式,手機端亂碼(無法避免)
windows端能夠識別正規utf-8或者utf-16的中文ssid,只是會直接把其hex顯示出來
路由器與路由協議
路由是什麼 一般代指從源主機到目標主機的 過程 路由器的作用 1.將資料報 到正確的目的地 2.在 過程中根據路由表選擇通過網路的最佳路徑 路由表的定義 1.路由器中維護的路由條目的集合 2.路由器根據路由表做路徑選擇 注釋 對於非直連的網段,需要靜態路由或動態路由,將網段新增到路由表中 選取最優路...
廣播與路由器
路由器是iso模型中的第三層,所以每一埠都有一ip,並且路由器是不過廣播的。路由器每一埠是乙個廣播域,交換機每一埠是一衝突域。一般家庭用路由器其實是乙個集線器加乙個撥號上網貓。工作組視窗是基於廣播的。socket廣播通訊 client端 如下 設定socket socket1 socket af i...
路由器與「交換」
路由器是實現分組交換 packet switching 的關鍵構件,其任務是 收到的分組,這是網路核心部分最重要的功能。在路由器中的輸入和輸出埠之間沒有直接連線。含義 交換 switching 的含義就是轉接 把一條 線轉接到另一條 線,使它們連通起來。而從通訊資源的分配角度來看,交換 就是按照某種...