Hala NÃ £ o alıyorsanız - dönüştürme başarısız olan MySQL karakterleri değiştirmek

2 Cevap php

I am populating this mysql table with data from a php (via post and using filter_input). The database is utf8 but when I have a user that inputs words with ^,',',~ like Não I get this -> Não

Ne o, doğru değerleri göstermek için yapmak zorunda. Ya da ben verileri almak bazı düzeltme yapmak için çalışmalısınız?

GÜNCELLEME:

I have added a utf8_decode and now it is inserting ok. Anyone know how to convert the string that were already in the table?? I tried using the convert function but I can't make it work :(

GÜNCELLEME:

Bu kod çalışıyorum:

select convert(field using latin1) from table where id = 35;

And I am still getting this: Não I tried other encoding s but I never get the word Não

Herkes bu birinde herhangi bir düşünce var?

2 Cevap

İlk olarak, sayfa utf-8 olduğundan emin olun

<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>

sonraki, sizin Apache eğer, yapmak yapılandırma dosyasında UTF-8 Your sur:

AddDefaultCharset UTF-8

. veya sizin böyle bir php dosyasında yapabilirsiniz:

header('Content-type: text/html; charset=UTF-8');

Hala sorun varsa, size kodlamak işlevini kullanabilirsiniz:

$value = utf8_encode($value);

Tüm bu yardımcı olacağını umuyoruz ...

Bu bir yerde bir şey Unicode işleyemez yolda gibi görünüyor. Sonuç olarak, iki ayrı karakter olarak yorumlanır oluyor. Unicode ile OK dizeleri işleyen her şeyi emin olun.