utf8亂碼php
❶ 中文url編碼、base64編碼,php解碼中文部分亂碼
如果兩端伺服器頁面使用的編碼不一致,就會導致亂碼
如你所說,對方伺服器發來的是GBK編碼的內容,如果你本地PHP用的編碼不是GBK就會是亂碼
2種解決方案:
將頁面編碼更改為GBK(可以通過header('Content-Type:text/html charset=gbk');)
將GBK編碼轉為當期頁面編碼(假設當前頁面是utf-8),可以使用iconv('gbk','utf-8',$content);其中$content是你經過urldecode、base64解碼後的字元串
❷ php 有關utf-8亂碼的問題
伺服器上用了別的編碼,應該是windows的伺服器吧?有可能是GBK或者GB2312編碼。
兩種方法解決此問題。
1、先在本地把所有文件都換成伺服器的編碼,然後再傳上去;此法,你的php編碼需要與伺服器上的資料庫編碼一致,也既有可能是那兩種編碼。
2、修改伺服器上的編碼為utf-8。此方法需要你有足夠的許可權去修改伺服器上apache或者IIS編碼。如果修改編碼成功,你的資料庫也不用換編碼。
如果保持你的網頁編碼不變,那就要修改mysql編碼,即像stjdydayou
所言,執行資料庫數據插入、更改、查詢時,執行一條查詢語句:
mysql_query("set
names
'utf-8'");
之所有用utf-8編碼,是因為你的php編碼目前為utf-8.
❸ php代碼頁面打開亂碼怎麼解決
當在瀏覽器中打開PHP頁面時,如果出現了亂碼,可能是由於以下幾個原因導致的:
文件編碼不一致
確保PHP文件的編碼格式和HTML頁面的編碼格式一致。常見的編碼格式有UTF-8和GBK等。
可以使用編輯器打開PHP文件,查看文粗前斗件的編碼格式,並在HTML頁面中添加<meta charset="編碼格式">指定頁面的編碼格式,例如:
html
<meta charset="UTF-8">
PHP文件中有BOM
BOM(Byte Order Mark)是一種在UTF-8編碼中用來標識編碼方式的特殊字元。如果PHP文件中含有BOM,會導致瀏覽器無法正確悔激解析PHP代碼,從而出現亂碼。
可以使用編輯器打開PHP文件,將文件編碼格式修改為UTF-8 without BOM。
PHP文件中含有非法字元
在PHP文件中含有非法字元也可能導致瀏覽器無法正確解析PHP代碼,從而出現亂碼。
可以使用編輯器打開PHP文件,檢查文件中是否含有非法字元,並將其刪除。
伺服器未正確配置
如果以上方法都無法解決問題,可能是由於伺服器未正確配置導致的。可以嘗試重新配置伺服器的字元集設置,例如在Apache伺服器中可以通過修改httpd.conf文件中的AddDefaultCharset指令來指定默認字元集,例如:
AddDefaultCharset UTF-8
以上是一些岩磨可能導致PHP頁面打開亂碼的原因和解決方法,您可以根據具體情況進行排查和處理。
❹ 我PHP設置的是UTF-8,資料庫設置的是UTF8-general-ci,從頁面發送數據給資料庫後資料庫顯示的是亂碼是為啥
試試把下面類似語句放到連接語句之後
mysql_query("SETNAMESUTF8");
或 PDO
$dbh->exe("SETNAMESUTF8");
用 SET NAMES UTF8 校正一下連接編碼
因為PHP 連接資料庫的過程中會經過三次編碼轉換,比如輸出的的時候
MySql Server(UTF-8) -> PHP Connection( Latin1) -> UTF8頁面的Result(UTF-8) 這時兩種編碼不兼容則產生亂碼。