dize PHP ve MySQL ile utf-8 kodlama sorunu?

3 Cevap php

This is what I tried so far,by modifying php.ini: default_charset = "utf-8"

Bu MySQL yapılandırılmış nasıl:

mysql> show variables like '%char%';
+--------------------------+-----------------------------------------------+
| Variable_name            | Value                                         |
+--------------------------+-----------------------------------------------+
| character_set_client     | utf8                                          |
| character_set_connection | utf8                                          |
| character_set_database   | utf8                                          |
| character_set_filesystem | binary                                        |
| character_set_results    | utf8                                          |
| character_set_server     | utf8                                          |
| character_set_system     | utf8                                          |
| character_sets_dir       | f:\wamp\bin\mysql\mysql5.0.45\share\charsets\ |
+--------------------------+-----------------------------------------------+
8 rows in set (0.00 sec)

Ama çalışmıyor.

Ben PHP ile işlem öncesi ve sonrası utf-8 formatında, verileri terk ettik.

Ama PHP ile MySQL içine yerleştirdikten sonra,

o, (phpMyAdmin) aracılığıyla büyük bir karışıklık olur

Veri tabanına içine yerleştirdikten sonra böyle bir şey oldu:

æ

kötüsü, veri MySQL onu okuma ve sayfadaki gösterdikten sonra tekrar normal haline!

Birisi asıl sorun burada ne işaret edebilir?

Kodu gibi her şey vardır:

$dml = "insert into profiles(accountId,name,thumbnail,sex,homeAddr,livingAddr,peoples,married,politicalStatus,qq,mobilePhone,telephone,homePage) 
    		value($accountId,'{$_POST['name']}',{$_POST['thumbnail']},{$_POST['sex']},'{$_POST['homeAddr']}','{$_POST['livingAddr']}','{$_POST['peoples']}',{$_POST['married']},'{$_POST['politicalStatus']}',{$_POST['qq']},{$_POST['mobilePhone']},{$_POST['telephone']},{$_POST['homePage']})";
mysql_query($dml,$con);

3 Cevap

PhpMyAdmin içinde php config bağlantı parametrelerine bakın. Bir veritabanına bağlandığınızda, bağlantı bir kodlama (yanı sıra tüm bu diğer yerlerde) belirleyebilirsiniz. Bu sorunlara neden senkronizasyon dışında olabilir.

Sorun hakkında daha spesifik olun. Soruna neden kodu gönderebilir, ve "çalışmıyor" nasıl hakkında bir şeyler söylemek. Kodu olmadan, biz sorunu çözemez.

O dedi, phpMyAdmin charsets uygun şekilde ayarlanmış olduğundan emin olun. I think bunu, phpMyAdmin yanlış görünüyor söylemek çalışıyoruz hangi sorunun nerede olması muhtemeldir durumda.

Edit: It's unclear what "what's worse,the data become normal again after reading it from MySQL and showing on the page!" means.

Diğer cevaba Yorumun gerçekten bir şey ispat etmez. Bu phpMyAdmin doğru görünüyor çünkü veritabanında ne ile kabul anlamına gelmez. Php karakter seti veritabanı karakter seti phpMyAdmin karakter seti eşleşmesi gerekmektedir eşleşmesi gerekmektedir. Bunlardan HERHANGİ yanlış iseniz, TAM bu sorunu alırsınız. Bunlardan biri uymuyor!

HTTP içerik türü utf-8 olduğundan emin olun. Bu çivilemek için zor biri.