javascript 从 CharCode 转换为土耳其语字符

javascript convert to turkish character fromCharCode

我把键盘输入的值打印到屏幕上。但是土耳其字符以扭曲的方式写入屏幕。如何正确打印土耳其语字符?

我的javascript代码:

window.addEventListener('keyup',function(event){

    var span = this.document.createElement('span');
    span.innerText= String.fromCharCode(event.keyCode);
    span.style.color='white';
    var harfDivleri = this.document.querySelectorAll('.harfDivleri');

    var i = kelimeDiv.children.length;
    while (0 < i) {
        i--;
         if(harfDivleri[i].innerHTML == ""){
            harfDivleri[i].appendChild(span);
        }
    }
    
});

屏幕输出:

我希望能够写出这样的字:ÖÜĞİŞÇ

我建议使用 keypress 事件,这将为您提供实际的字符代码,而不是单击的物理键,对此有更详细的解释 here

keydown 和 keyup 事件提供了一个代码,指示按下了哪个 key,而 keypress 指示输入了哪个 character。例如,小写字母“a”将被 keydown 和 keyup 报告为 65,但被 keypress 报告为 97。所有事件都将大写“A”报告为 65。

如果您使用按键事件,您的代码应该会按预期工作,请参阅下面的简单演示,土耳其语字符应该会正确呈现。

window.addEventListener('keypress', function(event){
    document.getElementById('output').innerHTML += String.fromCharCode(event.keyCode);
})
<h3>Type here to see text:</h3><br>

<h3 id='output'></h3>