Pergunta



Ok, então emoji mostra basicamente o acima em um computador. Essa é outra linguagem de programação? Então, como faço para colocar essas pequenas caixas em um arquivo php? Quando eu o coloco em um arquivo php, ele se transforma em pontos de interrogação e o que não. Além disso, como posso armazená -los em um MySQL sem que ele se transforme em pontos de interrogação e outras coisas estranhas?

Foi útil?

Solução

Como faço para colocar essas pequenas caixas em um arquivo php?

Da mesma forma que qualquer outro caráter unicode. Basta colá-los e garantir que você esteja salvando o arquivo php e atendendo a página PHP como UTF-8.

Quando eu o coloquei em um arquivo php, ele se transforma em pontos de interrogação e o que não

Então você tem um problema de codificação. Trabalhe com caracteres unicode que você pode realmente ver corretamente primeiro, por exemplo ąαд™日本, antes de se preocupar com o emoji.

Seu arquivo PHP deve ser salvo como UTF-8; A página que produz deve ser servida como Content-Type: text/html;charset:UTF-8 (ou com meta tag semelhante); O banco de dados MySQL deve estar usando um agrupamento UTF-8 para armazenar dados e o PHP deve estar conversando com o MySQL usando o UTF-8.

No entanto. Mesmo lidando com tudo corretamente assim, os PCs ainda não mostrarão o emoji. Isso é porque:

  1. Eles não têm fontes que incluem formas para esses personagens e

  2. Os emoji ainda são completamente desconhecidos. Esses personagens que você postou estão na área de uso privado Unicode, o que significa que eles não têm nenhum significado oficial.

Cada rede no Japão usa diferentes códigos de caracteres para seu emoji, mapeado para diferentes áreas do PUA. Portanto, mesmo em outro telefone celular, provavelmente não exibirá o caractere correto, a menos que você gaste idades convertendo manualmente códigos emoji para diferentes redes. Acho que os que você postou acima são do SoftBank (iPhone?).

Existe uma proposta em andamento liderada pelo Google e Apple para agrupar o emoji das diferentes redes e dar a eles um local padronizado adequado no Unicode. Até então, fazer com que o emoji seja exibido de forma consistente nas redes é um exercício de infelicidade. Veja o Visão geral do personagem A partir do trabalho de padronização para ver quanto conversação você teria que fazer.

Deus, eu odeio emoji. Toda essa dor por uma carga de lixo inútil.

Outras dicas

Isso não tem nada a ver com linguagens de programação, apenas com codificação e fontes. Como uma visão geral muito breve: todo caractere é armazenado por seu código de caracteres (por exemplo: 0x41 = a, 0x42 = b, etc), que é renderizado como um personagem significativo na sua tela usando uma fonte (que diz "o personagem com o código 0x41 deve ficar assim ... ").

Esses Emoji ocupar o "Área de uso privado" do Unicode Tabela, que é uma variedade de códigos indefinidos e gratuitos para qualquer um usar. Isso os torna códigos de caracteres perfeitamente válidos, é apenas que nenhuma fonte padrão tem um caractere apropriado para exibir para eles, pois eles são indefinidos. Somente o iPhone e outros computadores de mão, principalmente no Japão, possuem ícones apropriados para esses códigos. Isso é feito para salvar a largura de banda; Em vez de transmitir arquivos de imagem relativamente grandes, os emoji podem ser transmitidos usando um código único de caractere.

Quanto a como armazená -los: eles devem ser armazenados como estão, desde que você não tente convertê -los para outra codificação, nesse caso, eles podem se perder. Esteja ciente de que eles só fazem sentido no iPhone e em outros telefones softbank no Japão.


Visualizador de caracteres http://img.skitch.com/20091110-e7nkuqbjrisabrdipk96p4yt59.png

Se você estiver no OSX, pode copiar e colar o personagem no visualizador de personagens para descobrir o que é. Eu acho que existe um mapa de personagens semelhante no Windows (embora inferior; P). Você poderia colocá -lo através do PHP ord(), mas isso só funciona com caracteres ASCII. Veja a discussão sobre o ord Página para funções UTF8.


BTW, apenas por diversão, esses personagens são bem exibidos no iPhone, porque o iPhone tem uma fonte que possui ícones para eles:

iPhone http://img.skitch.com/20091110-bjt3tutjxad1kw4p9uhem5jhnk.png

Estou usando o FF3.5 e o Winxp. Também vejo caixas pequenas no meu navegador.

Isso me diz que a string requer um conjunto de personagens não instalado no meu computador.

Quando você coloca a string em um arquivo php, os pontos de interrogação dizem a mesma coisa: seu computador não sabe como exibir os caracteres.

Você poderia armazená -los Emoji Personagens no MySQL se você os codificou de maneira diferente, provavelmente usando o UTF-8.

Faça uma pesquisa na web por codificação de caracteres, no que se refere ao MySQL.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top