跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 灵魂拷问:假如你用了中文域名,那么你系统里面是以 Punycode 为准,还是中文为准?
未分類
18 7 月 2020

灵魂拷问:假如你用了中文域名,那么你系统里面是以 Punycode 为准,还是中文为准?

灵魂拷问:假如你用了中文域名,那么你系统里面是以 Punycode 为准,还是中文为准?

資深大佬 : xiangyuecn 7

业务逻辑中遇到了一个棘手的问题,比如你写了一个接口给客户用,客户可能就会有 Unicode 域名

前端: 用户自行填写自己的中文域名:”拼夕夕.中国”

后端: 客户中文域名网站发起了接口请求,到达了我方的服务器,此时是 Punycode: “xn--6rsa717e.xn--fiqs8s”

问题出现了,你总要进行至少一种转换:Unicode 转 Punycode 或者 Punycode 转 Unicode 。

系统存 Punycode:

肉眼十分不友好,看多了会瞎。前端回显时至少要进行一次转回 Unicode 。

系统存 Unicode:

人类友好,机器不友好,每个请求都要将 url 中的 Punycode 至少转一次 Unicode (如果是老系统,估计是要重构)。

存两份格式 or 拒绝 Unicode 域名?

没有此选项。

那么,有用过中文域名什么的的老哥吗,你们系统里面怎么处理这种麻烦事?

大佬有話說 (8)

  • 主 資深大佬 : xiangyuecn

    仔细衡量了一下,可能系统存 Punycode 的成本最低,就是反人类就是了。客户填写也必须填写 Punycode 形式域名。

    然后就出现了,域名列表里面一堆 asdfasdfas 毫无规则的域名列表,要眼瞎

  • 資深大佬 : lhx2008

    接口支持传 punycode 和中文,数据库存 punycode,前端显示 punycode 和 中文

  • 資深大佬 : baobao1270

    当然是存 Punycode 啦

  • 資深大佬 : ochatokori

    存 punvcode
    一般又不会直接看数据库
    输出给人看的时候再转 unicode 呗

  • 資深大佬 : shiny

    参考浏览器地址栏:显示的时候显示文字,实际储存 Punycode

  • 資深大佬 : raptium

    我觉得 URL 里其它位置的中文和域名里有中文情况一样啊。

    Path 或者 Query String 里有中文,浏览器地址栏可能显示中文,然而储存一般还是存成 urlencode 之后的形式。

    至于说看多了会瞎?我觉得也没差。一般人应该也不可能人脑 decode `%E4%B8%AD%E5%9B%BD` 之类的,反正都是人看不懂的,不能说 `%E4%B8%AD%E5%9B%BD` 看着不瞎, `.xn--fiqs8s` 看着就瞎吧?

  • 資深大佬 : unicloud

    我没有和中文域名的请求打过交道,但是,如果是我选择的话,会使用系统存 Punycode,这是 Raw Data,后续怎么处理,怎么显示,都会基于这个 Punycode 来转换。
    Punycode 主要是为了处理国际化域名( Internationalized Domain Names )而制定的,当然不限于中文。这里有一篇关于 Punycode 的简单介绍: https://www.dute.org/punycode 可以看看

  • 資深大佬 : woomly

    当然是系统存 Punycode 了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具