中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

php數(shù)據(jù)庫字符 php怎么將數(shù)據(jù)庫中的數(shù)據(jù)顯示出來

PHP顯示MySQL數(shù)據(jù)亂碼,字符集設(shè)置都是UTF8,數(shù)據(jù)庫也是UTF8,一直找不到問題在哪里,代碼見詳細(xì),求大神

php+mysql的utf-8中文亂碼問題的解決方法

長春網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

問題匯總:

1.mysql數(shù)據(jù)庫默認(rèn)的編碼是utf8,如果這種編碼與你的PHP網(wǎng)頁不一致,可能就會(huì)造成MYSQL亂碼.

2.MYSQL中創(chuàng)建表時(shí)會(huì)讓你選擇一種編碼,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.

3.MYSQL創(chuàng)建表時(shí)添加字段是可以選擇編碼的,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.

4.用戶提交頁面的編碼與顯示數(shù)據(jù)的頁面編碼不一致,就肯定會(huì)造成PHP頁面亂碼.

5.如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會(huì)造成PHP頁面亂碼.

6.PHP頁面字符集不正確.

7.PHP連接MYSQL數(shù)據(jù)庫語句指定的編碼不正確.

使用mysql+php產(chǎn)生亂碼的原因都了解得很清楚了,那么解決就不困難了.

針對不同問題的解決方法:

1.mysql數(shù)據(jù)庫默認(rèn)的編碼是utf8,如果這種編碼與你的PHP網(wǎng)頁不一致,可能就會(huì)造成MYSQL亂碼.

修改數(shù)據(jù)庫編碼,如果是數(shù)據(jù)庫編碼不正確,可以在phpmyadmin 執(zhí)行如下命令:

Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是將test數(shù)據(jù)庫的編碼設(shè)為utf8.

2.MYSQL中創(chuàng)建表時(shí)會(huì)讓你選擇一種編碼,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.

修改表的編碼:

Alter TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是將一個(gè)表category的編碼改為utf8.

3.MYSQL創(chuàng)建表時(shí)添加字段是可以選擇編碼的,如果這種編碼與你的網(wǎng)頁編碼不一致,也可能造成MYSQL亂碼.

修改字段的編碼:

Alter TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

以上命令就是將test表中 dd的字段編碼改為utf8.

4.用戶提交頁面的編碼與顯示數(shù)據(jù)的頁面編碼不一致,就肯定會(huì)造成PHP頁面亂碼.

如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可.

5.如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會(huì)造成PHP頁面亂碼.

這種情況也是修改頁面charset即可.

6.PHP頁面字符集不正確.

為了避免PHP頁面亂碼的發(fā)生,PHP頁面開始第一句

header("content-type:text/html; charset=utf-8");

//強(qiáng)行指定頁面的編碼,以避免亂碼

7.PHP連接MYSQL數(shù)據(jù)庫語句指定的編碼不正確.

在連接數(shù)據(jù)庫的語句中.

mysql_connect('localhost','user','password');

mysql_select_db('my_db');

mysql_query("set names 'utf8'"); //select 數(shù)據(jù)庫之后加多這一句

PHP操作數(shù)據(jù)庫是如何對特殊字符進(jìn)行處理

存數(shù)據(jù)的時(shí)候,需要對字符串進(jìn)行addslashes

()進(jìn)行操作$str=addslashes($str);$sql="insert

into

`tab`

(`content`)

values('$str')";去除數(shù)據(jù)的時(shí)候操作如下$str=stripslashes($str);在頁面顯示時(shí)進(jìn)行如下操作$str=htmlspecialchars(nl2br($str))

;

查看原帖

php 向數(shù)據(jù)庫發(fā)送中文字符無法查詢?

你的問題可能是數(shù)據(jù)庫連接時(shí)未指定字符集:$conn-query("set names utf8");

詳細(xì)如下:

將中文字符轉(zhuǎn)換一下,可能你的網(wǎng)頁編碼是ansi非utf-8的:

$w=iconv("gb2312","utf-8",$w);

不過我不確定這樣做你能否成功。關(guān)于字符有以下幾點(diǎn)你看下:

數(shù)據(jù)庫連接時(shí): $conn-query("set names gbk");

數(shù)據(jù)庫的字符集:建議建立數(shù)據(jù)庫時(shí)就指定字符集,比如gbk或者utf-8,這樣你就沒必要為單獨(dú)的表或者字段指定字符集

網(wǎng)頁字符:META CONTENT="text/html; charset=gbk" HTTP-EQUIV="Content-Type" /

保持著三者使用的字符集一樣,基本能解決你的問題。

當(dāng)然,在使用ajax時(shí)。js傳遞過來的是utf-8,如果你的php文件和數(shù)據(jù)庫使用的是中文字符集如gbk,gb2312,那么就需要對該值用iconv函數(shù)轉(zhuǎn)換下字符集,如:$w=iconv("utf-8","gb2312",$w);

總之,需要這幾塊的字符集保持一致。

PHP 數(shù)據(jù)庫中取出的字符串如何解析換行符

?php

$content="111\n222";

//先替換

$contents=str_replace("\n","br/",$content);

//再輸出即可解決

echo $contents;

?

輸出結(jié)果為:

111

222

當(dāng)前名稱:php數(shù)據(jù)庫字符 php怎么將數(shù)據(jù)庫中的數(shù)據(jù)顯示出來
分享鏈接:http://www.rwnh.cn/article16/ddgojgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃服務(wù)器托管Google、網(wǎng)站導(dǎo)航、網(wǎng)頁設(shè)計(jì)公司品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
五河县| 砀山县| 威海市| 远安县| 屏东市| 安达市| 嘉黎县| 普定县| 博兴县| 潼南县| 临西县| 长宁区| 陇川县| 钟祥市| 望谟县| 拜泉县| 小金县| 绥江县| 富平县| 靖远县| 绿春县| 长顺县| 绵阳市| 高邑县| 镇赉县| 皮山县| 怀集县| 夹江县| 乌审旗| 五大连池市| 金山区| 防城港市| 天峨县| 枣庄市| 保亭| 呼图壁县| 米易县| 沙河市| 津南区| 谢通门县| 仁寿县|