背景:同事在苹果电脑的PDF阅读器中打开PDF文件,说里面的超链接无法跳转,但在浏览器中打开就是可以跳转的
问题:超链接中包含了中文,在苹果那个PDF阅读器中显示的中文的编码和浏览器地址栏中显示的中文编码不一致
思考:苹果的PDF阅读器对中文编码是不是跟浏览器不一样,所以是不是只要统一了编码就可以
解决方案:在生成PDF前将url中的中文用js中的encodeURIComponent()进行编码,这样生成的PDF中就不包含中文,点击超链接就可以直接使用编码后的地址了
PS: 浏览器地址栏对中文会进行自动的编码解码,在js中进行同样处理的函数是:encodeURIComponent() 和 decodeURIComponent()