我使用下面的代碼來存儲和更新我的數據庫中的數據。特殊字符存儲爲?在我的MySQL數據庫
<?php
header("Content-Type: text/html;charset=UTF-8", true);
mysql_connect("localhost", "test", "test") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
// mysql_set_charset('UTF8');
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_unicode_ci'");
mysql_query("UPDATE `test`.`english` SET age = '".$age."', city = '".mysql_real_escape_string($_REQUEST['city'])."', aboutMe = '".$_REQUEST['about']."' WHERE `english`.`username` = '".$_REQUEST['username']."' LIMIT 1 ;")
or die(mysql_error());
該代碼運行良好。但是,如果字符串,例如「城市」包含一個ä,ö,ü它存儲爲? 因此,例如,「Bär」一詞轉到「B?r」。
我已經添加了這些utf8的東西,但它沒有幫助。 該服務器僅支持php4.x
編輯:數據庫正在使用latin1_general_ci作爲歸類。
PHP版本不是這裏的問題,問題在於MySQL如何存儲這些值。 – ajacian81
先試試這個查詢:'alter table'test'.'english' convert to character set utf8 collate utf8_unicode_ci;' – ajacian81
我試過了,但現在忽略了它,並且忽略了之後的字符。 – tobias