1、頁面代碼里面要設(shè)置charset=utf-8

創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊10余年來致力于為客戶提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、成都品牌網(wǎng)站建設(shè)、成都營銷網(wǎng)站建設(shè)、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團(tuán)隊,先后服務(wù)、推廣了數(shù)千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
2、保存頁面文件時要編碼格式為utf-8
3、數(shù)據(jù)庫有關(guān)的表、字段、的編碼為utf8-general-ci
還不對的話,看下面。
我是這樣解決的:
$dbh = new PDO('mysql:host=localhost;dbname=test','root','');
$dbh-exec("SET NAMES 'utf8';");
或者沒用PDO
mysql_query("set names 'utf-8'");
用phpmyadmin添加mysql數(shù)據(jù)庫,然后用php操作數(shù)據(jù)庫出現(xiàn)亂碼的解決辦法:
1:確認(rèn)phpmyadmin用的mysql字符集為utf-8
unicode(utf8);mysql連接校對為utf8_general_ci,language為中文-chinese
simplified
2:確認(rèn)每個數(shù)據(jù)表的“整理為”utf8_general_ci;
3:在php連接mysql數(shù)據(jù)庫后加個語句來指定數(shù)據(jù)庫的字符集,
例如:$conn=mysql_connect("localhost","root","你的密碼");
//連接數(shù)據(jù)庫
mysql_query("set
name
'utf8'");
編碼錯誤,你可以在連接數(shù)據(jù)庫的文件里例如 db_config.php里面在連接數(shù)據(jù)庫的代碼下面加上一句@mysql_query("SET NAMES GBK"); GBK代表編碼 根據(jù)你的需求修改一下提交試試應(yīng)該就可以解決了 希望能幫到你
查詢出來是不是亂碼?這個是數(shù)據(jù)庫的字符集同你提交頁面的字符集不一致造成的 你可以指定字符集嘛改成?php
header("Content-Type: text/html; charset=utf-8");
if ($_GET['act'] == 'insert') {
error_reporting(0); //禁止錯誤輸出
$con = mysql_connect('localhost:3306', 'root', '1234'); //創(chuàng)建數(shù)據(jù)庫連
mysql_select_db("taozi", $con);
if (!$con) { //如果失敗
die ('建立連接失敗:' . mysql_error()); //顯示出錯信息
}
mysql_select_db("taozi", $con);
mysql_query("set names utf-8");
如果這樣還是失敗建議你看看數(shù)據(jù)庫的字符集是不是utf-8的一般這都是由于數(shù)據(jù)庫的字符集不是utf-8造成的
1.PHP頁面語言本身的編碼類型不合適,這時候,你直接在腳本中寫的中文肯定是亂碼,不用說數(shù)據(jù)庫了
解決方法:選擇'UTF8'或者'gb2312',這樣客戶瀏覽器會自動選擇并出現(xiàn)正確的中文顯示。注意:'UTF8'或者'gb2312'都可以正確顯示中文的。
2.數(shù)據(jù)庫MySQL中的編碼類型不正確。
解決方法:創(chuàng)建數(shù)據(jù)庫的時候,MySQL
字符集選擇'UTF8',MySQL
連接校對選擇utf8_general_ci,這樣創(chuàng)建的數(shù)據(jù)庫用來存儲中文肯定沒有問題,
否則,你的中文首先在MySQL中就是亂碼,更不要期望它會給你在PHP頁面中顯示正確。
3.與平時的腳本編輯環(huán)境有關(guān)。比如,有些內(nèi)容是自己用word寫的,有些是用記事本寫的,有些用editplus、ultraplus等文本編輯器。有時候就直接在DW中寫中文了,
解決方法:盡量用同一種編輯器。如果是拷貝來得既有的內(nèi)容,建議用ultraplus中的編碼轉(zhuǎn)換功能把它轉(zhuǎn)換成utf8或者gb2312。
到底轉(zhuǎn)換成什么類型并不重要,關(guān)鍵要求你的PHP
WEB應(yīng)用程序中的編碼要一致就行。
4.編程訪問
MySQL時,建議添加一行代碼:mysql_query("SET
NAMES
'GBK'");
PHP連接ACC是一個比較冷門的數(shù)據(jù)結(jié)構(gòu)。一般使用php搭配Mysql使用。
access的中文版默認(rèn)是GBK格式的,是無法改變字符類型的,所以用php讀取的時候會亂碼。
解決方法是:使用iconv轉(zhuǎn)換
一、使用 iconv函數(shù)制作一個轉(zhuǎn)碼的自定義從GBK轉(zhuǎn)到UTF-8的函數(shù),如以下代碼:
function enc($c){return iconv('gbk','utf-8',$c);}
二、為了寫入數(shù)據(jù)庫的編碼是符合數(shù)據(jù)庫需要的,所以我們還要制作一個從UTF-8轉(zhuǎn)向GBK的函數(shù):
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了轉(zhuǎn)碼函數(shù),接下就是正常使用了。在從數(shù)據(jù)庫里面調(diào)數(shù)據(jù)顯示在頁面的時候使用enc()函數(shù),從頁面提交數(shù)據(jù)到數(shù)據(jù)庫時使用dec()函數(shù),這樣就可以很好的解決PHP使用UTF-8編碼,ACCESS使用系統(tǒng)默認(rèn)編碼的問題了。
文章名稱:php提交數(shù)據(jù)庫亂碼,php連接數(shù)據(jù)庫亂碼
瀏覽地址:http://chinadenli.net/article9/dsicpih.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、微信小程序、網(wǎng)頁設(shè)計公司、網(wǎng)站排名、定制網(wǎng)站、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)