本文目錄一覽:
- 1、php設置成utf-8還是亂碼了怎麼辦
- 2、我PHP頁面用的是utf-8編碼,數據庫的編碼方式是big5。請問頁面中應該怎樣處理啊?
- 3、我PHP設置的是UTF-8,數據庫設置的是UTF8-general-ci,從頁面發送數據給數據庫後數據庫顯示的是亂碼是為啥
- 4、怎樣設置php的編碼格式為utf-8
- 5、php文件怎麼設置utf-8編碼
- 6、如何用php設置utf-8編碼
php設置成utf-8還是亂碼了怎麼辦
有時後php代碼裡邊設置了“header(“Content-type:
text/html;
charset=utf-8″);”不一定會管用,因為有時文件本身格式就是錯誤的,你先把代碼複製到一個txt文件裡邊,然後用代碼工具對php文件進行轉碼成utf-8格式(這時你就會發現裡邊的代碼亂碼了,由其是中文和特殊字符),再把txt裡邊的代碼複製覆蓋原來的php文件內容,然後保存即可,例如用Notepad++
工具
可以對文件本身進行轉碼
我PHP頁面用的是utf-8編碼,數據庫的編碼方式是big5。請問頁面中應該怎樣處理啊?
是亂碼問題嗎???
在php頂部加入一句: header(‘Content-type: text/html;charset=utf-8);
PHP寫入MySQL數據庫
建立conn時,query一下set names
我PHP設置的是UTF-8,數據庫設置的是UTF8-general-ci,從頁面發送數據給數據庫後數據庫顯示的是亂碼是為啥
試試把下面類似語句放到連接語句之後
mysql_query(“SET NAMES UTF8”);
或 PDO
$dbh-exe(“SET NAMES UTF8”);
用 SET NAMES UTF8 校正一下連接編碼
因為PHP 連接數據庫的過程中會經過三次編碼轉換,比如輸出的的時候
MySql Server(UTF-8) – PHP Connection( Latin1) – UTF8頁面的Result(UTF-8) 這時兩種編碼不兼容則產生亂碼。
怎樣設置php的編碼格式為utf-8
在 PHP 編寫過程中,一般需要注意的是三種編碼:
1、網頁字符編碼
2、文件字符編碼
3、數據庫字符編碼
只有上面3種編碼的格式都一致的情況下,才會儘可能的避免亂碼的出現。
二、如何使用Notepad++軟件設置UTF-8編碼:
用 Notepad++ 軟件打開指定的 php 文檔後,在“格式”菜單下找到“以UTF-8格式編碼”
以xxx編碼的意思是不強制轉換文件的編碼,僅僅以某種編碼來查看,不會對文件進行修改,這對打開某個文件發現都是亂碼時非常實用。
轉為xxx編碼的意思就是將文件內容強制轉換為某種編碼,這對於本來看到的就不是亂碼但需要調整右下角的文件編碼時非常好用。
php文件怎麼設置utf-8編碼
使用PHP的header函數就可以實現哦,如下:
header(‘Content-type:text/html;charset=utf-8’);
echo “我是utf-8格式的文字哦,現在我可以正常顯示了.”;
如何用php設置utf-8編碼
在你的源文件找到meta http-equiv=”content-type” content=”text/html;charset=utf-8″charset= 後面接的就是編碼,你全部改了就可以了。如果你改了之後變成亂碼的話,那你就只能先建一個utf-8編碼的網頁,把相應的內容重新輸入進去。
要輸出UTF8格式時,加上以下語句:
header(”Content-Type: text/html; charset=UTF-8″)
php用UTF-8總結:
php文件本身必須是UTF-8編碼。不像Java會生成class文件,避免這個問題
php要輸出頭:header(”Content-Type: text/html; charset=UTF-8″)
meta標籤無所謂,有header所有瀏覽器就會按header來解析
所有外圍都得用UTF8,包括數據庫、×.js、×.css(CSS影響倒不大)
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼(基本上的linux都裝了,沒裝的話download、tar、make、make install,很簡單的)
my.ini:
[MySQL(和PHP搭配之最佳組合)]
default-character-set=utf8
[MySQL(和PHP搭配之最佳組合)d]
default-character-set=utf8
default-storage-engine=MyISAM
在[MySQL(和PHP搭配之最佳組合)d]下加入:
default-collation=utf8_bin
init_connect='SET NAMES utf8'
在需要做數據庫操作的php程序前面加上
mb_internal_encoding('utf-8');
create table最後邊加上ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
phpMyAdmin/config.inc.php
$cfg['DefaultCharset'] = 'utf-8';
$cfg['RecodingEngine'] = 'iconv';
phpAdmin導出數據時
把”二進制區域使用十六進制顯示”的勾去掉
特別鬱悶的:文件系統函數不支持UTF-8!
原創文章,作者:VLHD,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/141236.html