php mysql字元 PHP Mysql 字符集

2021-10-22 10:53:19 字數 1629 閱讀 1922

我的資料庫有

預設排序規則:utf8_unicode_ci

預設字符集:utf8

我所有的資料庫都有:

排序規則:utf8_unicode_ci

我的主頁另存為utf8,具有utf8-meta-charset和乙個php utf8-header。 我的ajax載入頁面也是如此。 但是,會顯示?,?,ü之類的字元:"?"

如果我在首頁的開頭設定名稱

set names utf8 collate 'utf8_general_ci'

ajax載入的內容正確,但是我的主頁?,ü...顯示為"?"

主頁內容通過mb_detect_encoding($str)進行; 仍然是utf8 ...

我應該去**看?

注意:每個內容都通過include_once包含在內

所以index.php-> loged.php-> content.php

也將檔案儲存/編碼為utf-8嗎? 檢查一下。 此頁面可能也有幫助stackoverflow.com/questions/279170/utf-8-all-the-way-through

是的..我再次瀏覽了每個檔案,並將其儲存為utf-8。

您是否為"主頁"頁面和ajax請求都設定了相同的內容? 資料庫本身中的資料是什麼樣的? 檢查一些管理實用程式,例如phpmyadmin。

您可以嘗試執行mysqldump,檢視轉儲的內容以確保內容是utf-8編碼的。 如果不是,請將其轉換為utf-8並匯入回退。

如果這樣可以解決您的問題,那麼將資料儲存到資料庫中的指令碼會將其儲存為錯誤的編碼。

將字符集設定為php連線物件(不要與資料庫設定混淆)$mysqlidb->set_charset('utf8');

使用utf-8對php頁面進行編碼,這必須由您的**編輯器完成。

我試圖在這篇簡短的文章中指出所有要點。

對於pdo,設定字符集的語法為:

$dsn ="mysql:host=$dbhost;dbname=$dbname;charset=utf8";

$db = new pdo($dsn, $dbuser, $dbpassword);

是的..我做到了..但是正如我提到的那樣,mainpage內容中的字符集不正確...:/

@orgertot-因此,您可以在php**中設定字符集,或者它是資料庫中的設定?您使用什麼類訪問mysql(mysqli或pdo)?

兩者..我的意思是..如果我使用mb_detect_encoding($str)它??說utf8 ..但是我不知道為什麼它不能正確顯示..

@orgertot-這不能回答問題,您是否在php**中設定了字符集,還是僅信任mb_detect_encoding()函式?您能告訴我們設定字符集的**嗎?

我不明白你的意思。我正在使用:$dbh->exec("set names utf8 collate utf8_general_ci");用於pdo,header("content-type:texthtml; charset=utf-8");和

@orgertot-我在答案中新增了乙個示例。設定排序規則與設定字符集不同,該排序規則僅用於比較(排序)。

@orgertot-然後嘗試將新值儲存到資料庫中並顯示該值。在儲存值和進行查詢之前,請確保設定了字符集。

哦,是的!就是這樣..愚蠢的我..非常感謝你!

wampserver無法進入到phpmyadmin

當你在製作個人部落格wordpress時,按照教程來做似乎一切都沒有問題,但是當你進入到phpmyadmin時卻出現如下圖所示的 的狀況 cfg servers i user root cfg servers i password 要是你的上面顯示的是using password no則你需要在上面...

php mysql 初學 初學PHP MySQL

php echo print 都能輸出文字 date format,timestamp 可以格式化時間戳 mktime 可以返回指定日期的時間戳 include filename 或者 require filename 可以包含另外的php檔案,就像c中包含別的庫一樣 fopen fclose 用來...

php mysql製作 php MYSQL製作分頁

header content type text html charset utf 8 傳入頁碼 p get p 每頁數量 pagesize 1 鏈結資料庫 host localhost user root pass db test conn mysqli connect host,user,pas...