看到如下問(wèn)題:
雖說(shuō)文件和網(wǎng)都不是國(guó)人發(fā)明的,但也沒(méi)必要一定要按英文來(lái)啊。最底層的還是英文,就不能改成中文嗎?是我們沒(méi)技術(shù)嗎?還是懶得研究呢?好不容易出現(xiàn)一個(gè)中文編程,編出的程序卻被我們的軟件試別成病毒。
鍵盤換成中文應(yīng)該容易吧?有誰(shuí)做嗎?之前我問(wèn)過(guò),有人說(shuō),編一個(gè)系統(tǒng)很容易,難的是兼容。為什么蘋果的系統(tǒng),有那么多國(guó)產(chǎn)軟件可以去適應(yīng)它呢?是因?yàn)樘O果有錢嗎?為什么要這樣比呢?中文很重要嗎?重要的是,國(guó)與國(guó)之間的競(jìng)爭(zhēng)。
非得用英文作網(wǎng)址嗎?難道網(wǎng)的技術(shù)被英國(guó)壟斷了,全世界的網(wǎng)都?xì)w它管嗎?
那么網(wǎng)址可以用中文嗎?
當(dāng)然可以!可以把網(wǎng)址的大部分設(shè)置為中文,但復(fù)制的時(shí)候并無(wú)法正常顯示,而是會(huì)被轉(zhuǎn)碼。且看:
https://www.fuyeor.com/en-us/follow?form=zhihu
這是一個(gè)典型的網(wǎng)址(Url) ,其中:
- https://: 這是網(wǎng)站的協(xié)議,https 是使用了 SSL 證書的加密協(xié)議。這一部分不可能顯示為中文。
- www.fuyeor.com:這是網(wǎng)站的域名部分。這部分可以使用中文。
- en-us/follow:這是 網(wǎng)站的目錄部分。這部分可以使用中文。
- ?:這是查詢參數(shù)的標(biāo)識(shí)符(界定符);而 ?后面是傳輸?shù)膮?shù)。查詢字符串界定符是 URL中的保留字符,這一部分不可能使用中文。
- form:這是網(wǎng)站的參數(shù),這部分可以使用中文。
- =:等于符號(hào)在 url 中表示賦值,將后面的值賦給前面的參數(shù)。等于號(hào)是 URL中的保留字符,這一部分不可能使用中文。
- zhihu:表示參數(shù)的值,這部分可以使用中文。
也就是說(shuō),除了協(xié)議、URL中的保留字符(例如 /、?、#、= 之類的符號(hào))外。都可以使用其他的語(yǔ)言,包括中文。
中文域名
其中,中文域名叫做“IDN 國(guó)際化域名[1]”,中國(guó)擁有國(guó)別域名后綴如下:
- 中國(guó)大陸(China,互聯(lián)網(wǎng)名稱與數(shù)字地址分配機(jī)構(gòu)(ICANN)批準(zhǔn)了.中國(guó) / .中國(guó) 簡(jiǎn)繁體2個(gè)),
- 中國(guó)香港(Hong Kong,ICANN 批準(zhǔn)了.香港 1個(gè)),
- 中國(guó)臺(tái)灣(Taiwan,ICANN 批準(zhǔn)了.臺(tái)灣 / .臺(tái)灣 簡(jiǎn)繁體2個(gè)),
此外還具有一些公司申請(qǐng)的中文域名,例如 .手機(jī)、.公司、.網(wǎng)址 等等。
需要注意的是,IDN 國(guó)際化域名在實(shí)際使用中需要經(jīng)過(guò)“Punycode 轉(zhuǎn)碼”,轉(zhuǎn)碼后的域名就由26個(gè)字母+10個(gè)數(shù)字,還有“-”組成。
因?yàn)椴僮飨到y(tǒng)的核心都是英文組成,DNS服務(wù)器的解析也是由英文代碼交換,所以DNS服務(wù)器上并不支持直接的中文域名解析,所有中文域名的解析都需要轉(zhuǎn)成punycode碼,然后由DNS解析punycode碼。其實(shí)所說(shuō)和各種瀏覽器完美支持中文域名,只是瀏覽器軟件里面主動(dòng)加入了中文域名自動(dòng)轉(zhuǎn)碼,不需要原來(lái)的再次安裝中文域名轉(zhuǎn)碼控件來(lái)完成整個(gè)流程。
IDN 域名的Punycode轉(zhuǎn)碼是什么意思?
中文域名是什么?
中文目錄和參數(shù)
網(wǎng)址中當(dāng)然可以隨時(shí)隨地使用中文的目錄和參數(shù)、文件名,例如:

優(yōu)點(diǎn)是簡(jiǎn)明易懂,但缺點(diǎn)是復(fù)制后仍然需要經(jīng)過(guò)轉(zhuǎn)碼,只不過(guò)這次不再是“Punycode 轉(zhuǎn)碼”,而是“Urlencode 轉(zhuǎn)碼[2]”。
例如“Urlencode 轉(zhuǎn)碼”這句話經(jīng)過(guò) Urlencode 就會(huì)變成這樣:
Urlencode%20%E8%BD%AC%E7%A0%81
Urlencode 是什么意思?為什么需要 Urlencode 處理?
如果這樣的網(wǎng)址:
https://知乎.網(wǎng)址/問(wèn)題/網(wǎng)址可以用中文嗎?
實(shí)際上訪問(wèn)起來(lái)是這樣的,包括復(fù)制網(wǎng)址出來(lái)也是這樣的:
https://xn--djqu72h.xn--ses554g/%E9%97%AE%E9%A2%98/%E7%BD%91%E5%9D%80%E5%8F%AF%E4%BB%A5%E7%94%A8%E4%B8%AD%E6%96%87%E5%90%97%EF%BC%9F
是不是比較難看?
參考
- ^國(guó)際化域名 英文全稱是 Internationalized Domain Names ,英文簡(jiǎn)稱 IDN,也叫多語(yǔ)種域名,是指非英語(yǔ)國(guó)家為推廣本國(guó)語(yǔ)言的域名系統(tǒng)的一個(gè)總稱。國(guó)際化域名最初是由Martin Dürst在1996年12月提出。1998年在Tan Tin Wee的指導(dǎo)下,Tan Juay Kwang和Leong Kok Yong將其付諸實(shí)施。經(jīng)過(guò)許多討論和對(duì)比各種提案后,應(yīng)用程序國(guó)際化域名(IDNA)被采用,并使用在許多頂級(jí)域名中。
- ^Urlencode 是什么意思?為什么需要 Urlencode 處理? https://docs.fuyeor.com/question/10311