URL的編碼格式是採用ASCII碼,不是Unicode,而中文並非ASCII碼。
因此在瀏覽器上看到的中文網址都是經過UTF8的解碼後得到的結果。
所以當我們把瀏覽器的網址複製下來貼到記事本後,就會看到好像亂碼的URL。
例如:
http://blogger.twtnn.com/寓教於樂
會變成
http://blogger.twtnn.com/%E5%AF%93%E6%95%99%E6%96%BC%E6%A8%82
首先安裝urlencode的外掛:
# npm install urlencode
範例的原始碼如下:
----------------------------------------------------------------------------------
var urlencode = require('urlencode');
var http = require('http');
var handleRequest = function(request, response){
response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
//中文字為三組碼,所以E5、AF、93解碼後是「寓」
response.write(urlencode.decode('http://blogger.twtnn.com/%E5%AF%93%E6%95%99%E6%96%BC%E6%A8%82','utf8'));
response.end();
}
var server = http.createServer(handleRequest);
server.listen(8800,'127.0.0.1',function(){
console.log('Http Server Start');
});
把上面的原始碼儲成test.js,啟動後到瀏覽器輸入127.0.0.1:8800如下圖: