解決php mysql查詢插入中文亂碼問題
來源:易賢網 閱讀:799 次 日期:2014-12-19 14:39:22
溫馨提示:易賢網小編為您整理了“解決php mysql查詢插入中文亂碼問題”,方便廣大網友查閱!

一.中文問題其實就是經統一編碼了否則就會亂碼

1.數據庫與php頁面編碼統一

2.數據庫數據表字段與頁面編碼統一

如果做到上面兩種就不存在中文亂碼問題了,那么我們來看mysql中文亂碼問題解決例子

1.我的mysql表如下

--

-- 表的結構 `useradmin`

--

代碼如下:

CREATE TABLE IF NOT EXISTS `userain` (

`id` int(4) NOT NULL AUTO_INCREMENT,

`username` varchar(20) DEFAULT NULL,

`userpass` varchar(40) DEFAULT NULL,

`logins` int(4) NOT NULL DEFAULT '0' COMMENT '登陸次數',

`logintime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`mid` char(1) NOT NULL DEFAULT '0',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

上面所有的都是utf8編碼了,這樣我來測試一個中文

代碼如下:

INSERT INTO `userain` (`id`, `我是中文`, `userpass`, `logins`, `logintime`, `mid`) VALUES

(1, 'admin', '7c1f03139281878059b909c42ccf2f6a', 0, '2010-04-14 14:20:26', '1');

我說可以正常進入也有人說肯定不行其實關鍵不在sql語句了,重點在于php連接mysql數據時的編碼設置,如下。

頁面編輯為gbk

代碼如下:

<?php

//配置mysql數據庫連接參數

$db = mysql_connect("localhost", "user","password");

mysql_select_db("message",$db);

//在執(zhí)行sql語句之前加上下面這一行

?>

連接數據庫之后提交肯定是亂碼或保存不進行了,如果要解決這個mysql中文亂碼問題很簡單在查詢處的

代碼如下:

<?php

//配置mysql數據庫連接參數

$db = mysql_connect(, "user","password");

mysql_select_db("message",$db);

//在執(zhí)行sql語句之前加上下面這一行

mysql_query("SET NAMES 'utf8'",$db);

這樣再提交你會發(fā)現就算你的頁面是gbk的提交的數據保存也會成功哦

ps:對于ajax我們就一定要用uft8了,因為ajax只支持uft8模式傳輸數據。

更多信息請查看IT技術專欄

更多信息請查看CMS教程
易賢網手機網站地址:解決php mysql查詢插入中文亂碼問題
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢?yōu)闇剩?/div>
相關閱讀CMS教程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網