js中如何把gbk的编码转换成utf-8编码?

A.jsp文件是gkb编码的
B.jsp文件是utf-8编码的
A.jsp文件中用windows.open打开b文件,路径携带的参数如何设置编码?
因为B文件是utf-8的,所以如何把A文件中定义的字符串改成utf-8的编码?

项目混乱,已经无法修改两个文件的编码,只能修改文件中url定义的字符串

阅读 10k
2 个回答

不能直接转的,需要给一个gbk汉字 映射表。

image.png

let mapCode = {}
let mapChar = {}

let key = '81'
let index = 0
txt.split('\n').map(line => {
    if (!line) {
        key = ''
        index = 0
        return
    } else if (!key) {
        key = line.match(/\S+/)[0].toLowerCase()
        return
    }
    line.match(/\S+/g).slice(1).map((c, i) => {
        let code = (index + 4).toString(16) + i.toString(16)
        let key_code = `%${key}%${code}`
        mapCode[key_code] = c
        mapChar[c] = key_code
    })
    index++
})
const encode = (str = '') => str.replace(/./g, c => mapChar[c] || c)
const decode = (code = '') => code.replace(/(%[0-9a-f]{2}){2}/ig, c => mapCode[c.toLowerCase()] || c)

先尝试修复文件内容。对于实际编码为 GBK 的文件,文件内容的头部改为

<%@ page pageEncoding="GBK"%>

同样的,对于实际编码为 UTF-8 的文件,文件内容的头部改为

<%@ page pageEncoding="UTF-8"%>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏