Estranhos símbolos quadrados numéricos mostram como caracteres no Firefox

5

Eu tenho visto esses estranhos símbolos por um tempo agora, e estou curioso para saber o que são e por que eles aparecem. Às vezes, eles aparecem com tanta frequência em uma página, a escrita é indecifrável. Os símbolos aparecem como abaixo no Firefox, mas aparecem como pequenos quadrados no Internet Explorer.

Veja um exemplo:

  1. Quais são eles?
  2. Como posso me livrar deles?
por 3498DB 25.10.2009 / 03:45

4 respostas

9

No geral, o Firefox renderiza todos os caracteres Unicode nos quais ele não pode encontrar um glifo em suas fontes, como uma caixa contendo o código do caractere. Se você vai para por exemplo. um site chinês e você não tem fontes chinesas instaladas, você não terá nada além de pequenas caixas.

No entanto, esse caractere específico na captura de tela é CH U + FFFD REPLACEMENT CHARACTER. (Eu recebo uma forma de diamante com um ponto de interrogação; você também pode obter uma caixa quadrada ou apenas um ponto de interrogação.)

A menos que alguém tenha digitado esse caractere deliberadamente, o que é improvável (exceto por eu fazer isso acima), U + FFFD significa que alguém errou suas codificações em algum ponto ao longo da linha e também:

  • tentou codificar um caractere em uma codificação que não o suporta, por exemplo, se alguém tentou enviar um caractere chinês em uma codificação Latin-1 ou

  • serviu uma sequência de bytes codificados como UTF-8 quando na verdade é outra coisa.

Na captura de tela específica, é claramente um problema em que as "citações inteligentes" foram enviadas como uma única página de códigos do Windows de 1252 bytes. Então os dados provavelmente foram erroneamente atribuídos como UTF-8.

Quando a atribuição incorreta é devida ao seu navegador adivinhando o conjunto de caracteres incorreto (para páginas estúpidas que não identificam seus conjuntos de caracteres), você pode corrigi-lo indo em Visualizar- > Codificando e adivinhando o caminho certo. Onde a atribuição incorreta é devida ao processamento de strings pelo próprio site, não há muito o que fazer sobre isso. Infelizmente, muitos sites da web têm charsets errados, particularmente aqueles escritos em linguagens ignorantes do Unicode como PHP, ASP clássico, Ruby e JSP (apesar das strings nativas do Java, o JSP / Servlet é bastante corrompido).

    
por 25.10.2009 / 13:29
4

Eles são PLACEHOLDERS unicode; o número representa o ponto de código unicode para o glifo que está faltando na (s) fonte (s) disponível (s). Use uma fonte que cubra mais caracteres unicode necessários, e essas caixas serão substituídas por caracteres internacionais agradáveis.

Observe que isso também pode ser causado pelo fato de o navegador (ou outro aplicativo) assumir a codificação incorreta do documento. Por exemplo, se as configurações de codificação de caracteres especificarem que um documento deve ser interpretado como codificação (russa) e seu documento é codificado como chinês, você receberá glifos errados onde os mapas de caracteres se sobrepõem e glifos de espaço reservado. (as caixas com números) onde os mapas de caracteres não se sobrepõem.

    
por 25.10.2009 / 10:54
3

Eles são símbolos unicode ; Eu fiz esta pergunta w / r / t impressão em superusuário .

    
por 25.10.2009 / 03:54
2

Os caracteres representados pelo símbolo são as aspas ( e ), entrada incorreta de um dedo copiar e colar muito ansioso. Ou melhor, eles são o que programas como o Microsoft Word usam para representar aspas inteligentes. As duas citações devem ser " ou a primeira deve ser “ e a segunda ” .

    
por 25.10.2009 / 13:45