使用UTF-8時處理PHP和MySQL。下面是我如何連接:
$DB_USERNAME = '';
$DB_PASSWORD = '';
$DB_HOST = '';
$DB_NAME = '';
$pdo_attributes = array();
$pdo_attributes[PDO::ATTR_EMULATE_PREPARES] = FALSE;
$dsn = sprintf('mysql:dbname=%s;host=%s;charset=utf8', $DB_NAME, $DB_HOST);
$pdo = new PDO($dsn, $DB_USERNAME, $DB_PASSWORD, $pdo_attributes);
此外,在PHP 5.3.6 <這組附加屬性:
$pdo_attributes[1002] = 'SET NAMES utf8';
的整數1002
代表PDO :: MYSQL_ATTR_INIT_COMMAND,但該命令在PHP <破5.3.1。
查看下面這個答覆的原始內容,現在已經過時。這是使用舊mysql_*
功能,是連接方式不建議任何更多的,與有必要在當時其他一些亂碼預防提示:
mysql_connect ("localhost", "DB_USER", "DB_PASSWORD") or die (mysql_error());
mysql_select_db ("DATABASE_NAME") or die (mysql_error());
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
mysql_query("SET character_set_database=utf8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_server=utf8");
mysql_query("SET NAMES 'utf8'");
在呈現的頁面,有你設置好的了正確的字符編碼(utf-8)? – F21 2012-04-19 03:13:54
Nop我不知道如何... – Evan 2012-04-19 03:28:26
要確定它的頁面的字符編碼是否確實存在問題,請右鍵單擊頁面並將字符編碼更改爲utf-8。如果它顯示正常,然後讓PHP發送字符集標題爲utf-8:'ini_set('default_charset','UTF-8');' – F21 2012-04-19 03:33:38