Como chegar & nbsp se comportar corretamente usando HTML Purifier?

votos
3

Eu estou usando HTML Purifier no meu projeto PHP e estou tendo problemas em fazê-la funcionar corretamente com a entrada do usuário.

Estou tendo os usuários entram em HTML usando um editor WYSIWYG ( TinyMCE ), mas sempre que um usuário entra na entidade HTML  (espaço sem quebra) que fica guardado no banco de dados como esse personagem estrangeiro estranho ( Â).

No entanto, a coisa é, quando eu editar a entrada salvo usando o editor WYSIWYG que é exibido corretamente como  . Ele também funciona corretamente quando exibido, só que o código-fonte que aparece como um espaço real, mas não o caractere de espaço não-quebra.

Além disso, no banco de dados MySQL que mostra como o personagem estrangeiro estranho.

Eu li o doc sobre Unicode e HTML Purifier e mudou a minha base de dados e página web de codificação para ser UTF-8, mas ainda estou tendo problemas com o caractere de espaço sem quebras não ser mutilado. As outras entidades HTML, tais como &lt;e &gt;, se salvo como <e >, mas por que não &nbsp;?

Publicado 18/12/2008 em 22:23
fonte usuário
Em outras línguas...                            


2 respostas

votos
3

O espaço não-separável não está sendo guardada no seu banco de dados como um personagem estrangeiro estranho, ele está sendo salvo como dois caracteres. O caractere de Unicode espaço sem quebra é codificado em UTF-8 como 0xC2 0xA0, o qual na norma ISO 8859-1-se parece com "A" (isto é, um caracteres estrangeiros estranho seguido de um espaço não separável).

Você provavelmente está se esquecendo de fazer SET NAMES 'utf8'na sua conexão de banco de dados, o que faz com PHP para enviar seus dados para o MySQL como ISO-8859-1 (o padrão).

Dê uma olhada no " UTF-8 todo o caminho ... " para ver como configurar corretamente UTF-8 quando usando PHP e MySQL.

Respondeu 18/12/2008 em 23:13
fonte usuário

votos
0

Ele também pode ajudá-lo a saber que &#160;é uma alternativa para &nbsp;que você provavelmente vai exigir, se você nunca saída de qualquer XML legível;)

Respondeu 19/12/2008 em 13:42
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more