Caracteres Unicode sendo substituídos por pontos de interrogação após copiar e colar no Windows

3

Eu tenho esse problema estranho que venho enfrentando há anos desde o Windows 8 (agora estou no Windows 10, se bem me lembro. O problema parece estar apenas no meu computador de trabalho. Meus outros computadores pessoais não parecem Eu não pensei em pedir ajuda a princípio porque encontrei uma solução alternativa - que explicarei mais adiante - mas acho que basta.

Basicamente, sempre que eu copio e colo texto Unicode (japonês, árabe, etc.), eles aparecem como pontos de interrogação na colagem. Aqui está um exemplo de texto em japonês que copiarei:

何 こ れ?! わ か な い!

E aqui está o que parece depois de colar:

????! ??????!

Curiosamente, se eu copiar exatamente o mesmo texto novamente por pelo menos mais uma vez, ele será colado corretamente ...

何 こ れ?! わ か な い!

A remoção de um único caractere da seleção antes da cópia fará com que o problema seja "redefinido".

Esta foi a minha solução alternativa. Não é muito difícil de fazer, mas eu sempre esqueço de fazê-lo porque meus outros PCs funcionam bem. Isso adiciona mais etapas e desperdiça segundos preciosos.

O problema é de todo o sistema e afeta todos os programas e aplicativos que eu uso.

Alguma idéia de como consertar isso permanentemente? Qualquer ajuda será muito apreciada.

DeVilFisCh
fonte
Seria útil se você mencionar os programas dos quais copia ou cola. Mencione a versão do Windows e localidade é definida como bem
Sanny
Todos os programas reagem da mesma forma - quer eu copie e cole para eles - e o problema ocorreu desde o Windows 8, e é por isso que não estou mencionando nenhum número de versão específico. Agora estou usando o Windows 10, como mencionado. O código do idioma do sistema usado em todos os meus dispositivos é o inglês (Estados Unidos), mas esse é o único dispositivo com o problema irritante de copiar e colar.
DeVilFisCh
Hmmm ... talvez eu tente mudar para um local diferente e tente copiar e colar. Se for corrigido, o problema pode estar nas minhas configurações de localidade e tentarei voltar novamente, esperando que ele conserte o que for. Me faz pensar por que nunca pensei em fazer isso antes.
precisa saber é o seguinte
OK. Eu me sinto estúpido agora. A alteração das configurações de localidade corrigiu o problema. Posso copiar e colar texto Unicode no conteúdo do meu coração, mesmo quando voltar para o inglês (EUA).
DeVilFisCh
Fico feliz em ouvir isso. Certifique-se de copiar e colar vários idiomas com segurança (use páginas da Wikipédia que não sejam em inglês, por exemplo) Publique sua solução em detalhes e aceite-a como a resposta para o seu problema.
quer

Respostas:

1

Eu sofro desse problema há anos e nunca soube que a correção era tão simples assim até Sanny mencionar "locale" em um comentário acima (Obrigado Sanny!). Haha! De qualquer forma, veja como corrigi-lo se você encontrar o mesmo problema que eu:

Isso se aplica ao Windows 10 (compilação 15002), mas pode ser semelhante às versões mais antigas (ou mais recentes) do Windows.

  1. Vá para as configurações da região no painel de controle. Existem várias maneiras de fazer isso e aqui estão algumas delas.
    • Na barra de pesquisa (Cortana) na barra de tarefas, procure por "Painel de controle". No Painel de controle, clique em Alterar formatos de data, hora ou número em Relógio, idioma e região na exibição de categoria ou Região na exibição de lista de ícones
    • Apenas Windows 10: na barra de pesquisa novamente, pesquise "configurações de região e idioma". Isso abrirá a página Região e idioma no aplicativo Configurações. Role para baixo até encontrar Configurações adicionais de data, hora e região . Você pode selecionar Região na janela do Painel de Controle que é aberta.
  2. Abra a guia Administrativo e clique no botão Alterar localidade do sistema . Escolha um código de idioma diferente do código de idioma atual. Eu fui com japonês. Eu acho que escolher o idioma que você copiará e colará frequentemente seria melhor, embora possa ser o mesmo, independentemente. Confirme a alteração com OK.
  3. O sistema solicitará que você reinicie, o que obviamente você precisará fazer para observar as alterações.
  4. Após reiniciar, teste se copiar e colar agora funciona como pretendido. Após o sucesso, você pode refazer as etapas acima novamente e voltar ao local que realmente precisa usar.

É isso aí! Desfrute de copiar e colar! ;)

DeVilFisCh
fonte
1

Os produtos da Microsoft são todos compatíveis com Unicode. Não faz sentido que você precise alterar seu código de idioma para corrigir o problema.

O ????? indica que Unicode ou UTF-8 não está sendo reconhecido corretamente (em vez de ser diagnosticado incorretamente como um conjunto de caracteres diferente (talvez entre o programa e a área de transferência).

Mas parece que esse é um bug real - parece que o sistema operacional pensou que era ASCII pela primeira vez, mas depois tentou novamente com o UTF-8. O mundo Unicode é muito complexo - para armazenar Unicode completo em todos os conjuntos de caracteres possíveis, você precisaria dobrar o espaço e converter todas as suas funções para estar em conformidade com UTF-16 - uma tarefa massiva e pouco prática - imagine o armazenamento e o processamento necessários para converter para UTF-16/32 - estamos falando de todos os documentos que você possui ou visualiza ... então praticamente usamos o UTF-8, que codifica o UTF padrão para 8 bits. Mas as funções herdadas e os documentos baseados em ASCII precisam ser convertidos em UTF-ASCII etc. O que estava acontecendo aqui, suponho, é que o SO "adivinhou" incorretamente que a codificação era ASCII e usava uma função / classe separada para copiar e colar ( ou a função / classe padrão). Uma vez que "percebi" a codificação era Unicode e usava essa codificação. Embora o Unicode UTF-8 seja o padrão, existem em média cerca de 3-4 codificações diferentes por idioma para um sistema operacional lidar, e sem saber antecipadamente qual é a codificação - ter que determinar que é bastante difícil.

Do ponto de vista de um computador, seu personagem parece um conjunto pré-determinado de 1 e 0 e não há como saber objetivamente qual é a conversão correta de que 01000001 é um 'A', por exemplo. Também poderia ser um א em hebraico ou algum outro personagem. O Unicode mudou tudo isso - cada caractere tem uma atribuição exclusiva de 8 bits, o que significa que você pode determinar o que é baseado no intervalo de codificação.

Portanto, o comportamento de copiar e colar provavelmente tem a ver com a funcionalidade herdada do ASCII - upgrade e deve resolver o problema!

Danny F
fonte
Eu sei que não fazia sentido. Eu poderia copiar o texto corretamente ao copiá-lo pelo menos duas vezes (como mencionado na pergunta) e também mencionei que esse é um problema de todo o sistema e ocorre apenas em um computador que eu uso (embora já tenha sido corrigido permanentemente) seguindo os passos da minha resposta). Eu acho que foi um bug muito obscuro de algum tipo que persistiu mesmo após a atualização para o Windows 10 do 8, o que é estranho, para ser honesto. De qualquer maneira, nunca encontrei o problema novamente.
DeVilFisCh
Como eu lido muito com Unicode e lida com diferentes conjuntos de caracteres, eu me relaciono. Existem outros pontos. Para permitir que o sistema de arquivos esteja habilitado para Unicode, as configurações regionais devem ser definidas adequadamente. Existem as configurações de localidade que os aplicativos usam e, em seguida, as configurações de idioma e teclado. Se você tiver um idioma diferente, precisará configurá-lo, assim como o teclado apropriado. É bem possível que seu teclado digite ASCII e não Unicode ASCII, o que estava causando um problema.
Danny F
Isso explicaria por que eu poderia copiar corretamente o texto Unicode se o copiar duas vezes? Porque na verdade funciona se eu fizer dessa maneira. Eu só tenho que pressionar CTRL + C duas vezes depois de destacar o texto para fazê-lo funcionar. Caso contrário, obtenho os pontos de interrogação ao colar o conteúdo da área de transferência. Também recebo pontos de interrogação se alterar o texto realçado antes de copiar novamente. Se o texto fosse ASCII, não funcionaria de qualquer maneira?
DeVilFisCh
Além disso, parece que nunca mencionei que não tive problemas para digitar em japonês ou em qualquer outro idioma Unicode. Independentemente da fonte - digitando-a por mim mesma ou pela Web (Wikipedia, etc.), os resultados foram os mesmos - copiar e colar foi a única coisa que ocorreu se eu não fizer a cópia - procedimento duas vezes.
DeVilFisCh
Correção: seu texto era Unicode, a funcionalidade de copiar / colar do sistema operacional o considerava ASCII.
Danny F