Javascript 这是一个奇怪的外来字符集还是一个编码问题?

Javascript 这是一个奇怪的外来字符集还是一个编码问题?,javascript,html,encoding,utf-8,character,Javascript,Html,Encoding,Utf 8,Character,我正试图修复一个奇怪的角色错误,但我不知道发生了什么。我有一篇外国人写的文章,当我收到它时,字体的正确呈现出现了奇怪的问题。我已经把它缩小到使用字符集的问题,但我不知道如何将其转换为正确的美国版本或其他什么。帮忙 下面是一个例子: 不,不,不,不,不 这显然是“商业网站”这一短语,但当您输入cmd+f或cntrl+f并键入该短语时,它不会将其识别为该短语。有没有人经历过这个问题?我发现唯一的解决办法是重新键入短语,但这对于一篇1500字的文章来说是不可行的。我尝试将其复制并粘贴到文本编辑器中,以

我正试图修复一个奇怪的角色错误,但我不知道发生了什么。我有一篇外国人写的文章,当我收到它时,字体的正确呈现出现了奇怪的问题。我已经把它缩小到使用字符集的问题,但我不知道如何将其转换为正确的美国版本或其他什么。帮忙

下面是一个例子:

不,不,不,不,不


这显然是“商业网站”这一短语,但当您输入cmd+f或cntrl+f并键入该短语时,它不会将其识别为该短语。有没有人经历过这个问题?我发现唯一的解决办法是重新键入短语,但这对于一篇1500字的文章来说是不可行的。我尝试将其复制并粘贴到文本编辑器中,以对其进行潜在的重新编码,但没有成功。

我从该页面复制了文本,并将其放入以下JavaScript:

“buѕіnѕwѕbѕіté”.split(“”).map(c=>c.charCodeAt(0).toString(16))

输出为:

[“62”、“75”、“455”、“456”、“6e”、“435”、“455”、“455”、“455”、“20”、“77”、“435”、“62”、“455”、“456”、“74”、“435”]


其中一些在ASCII范围内,但其中许多字符看起来与西里尔字母表中的字符相似。

使用其他答案的输入,我能够使用以下javascript代码挑出有问题的字符:

// get everything in the div
let article = document.getElementById('post')
let text = article.innerText

// get chars with values outside the ASCII range
let characters = text.split('').map(c => c.charCodeAt(0) > 128 ? c : null)

// filter out null values
let filtered = characters.filter(c => c)

// get the unique values
filtered = Array.from(new Set(filtered))

这让我了解到我使用Find&Replace转换它们的12个字符。毕竟还不错。

这就解释了为什么重新键入它可以修复它,但是你知道我如何在不手动重新键入所有内容的情况下修复它吗?除了在代码中编写特殊用途的转换,或者在文本编辑器中对相似的字符进行全局搜索和替换,没有比指定特定字符编码更简单的方法了。这很有帮助。谢谢你给我指明了正确的方向!也许我能找到一些能帮我完成繁重任务的方法。请把你的答案作为答案贴出来,然后把它从问题中删除。但我当然会的!