phputf8轉中文
❶ php mysql 如何將從數據中讀入的中文亂碼轉換成中文字元
要解決亂碼首先需要知道出現亂碼的原因:
一、PHP+MySQL出現中文亂碼的原因。
1. MYSQL資料庫的編碼是utf8,與PHP網頁的編碼格式不一致,就會造成MYSQL中的中文亂碼。
2. 使用MYSQL中創建表、或者選擇欄位時設置的類型不是utf8,而網頁編碼不是utf8,也可能造成MYSQL中文亂碼.
3. PHP頁面的字元集與資料庫的編碼不一致。
4. PHP連接MYSQL資料庫,操作是設定的語句指定的編碼和頁面編碼,PHP頁面編碼不一致。
5. 用戶提交的HTML頁面編碼,和顯示數據的頁面編碼不一致 ,就肯定會造成PHP頁面亂碼.
二、解決中文亂碼:
1. 網頁編碼設置。一般在HTML代碼中的文件頭<html>中加入屬性:
<meta http-equiv=」Content-Type」 content=」text/html; charset=utf-8″>
保證,網頁是"utf-8"編碼。
2. PHP代碼設置。在php代碼的開始部分加入以下代碼:
header(」Content-type: text/html;charset=utf-8″);
且要求保存的文件編碼方式是utf-8,這樣就保證了該文件也是utf-8編碼。
3. 資料庫中表的欄位中存儲中文的部分,要設置為utf8_general_ci類型。
4.PHP在連接資料庫操作時,要設置操作的欄位類型為utf8,設置方法如下:
mysql_connect(』localhost』,'user』,'password』);mysql_select_db(』db』);mysql_query(」set names utf8;」); //**設置字元集***
❷ php怎樣把utf8轉換為gbk
<?php@header("Content-type:text/html;charset=UTF-8");echo $str= '你好,這里是賣咖啡!';echo '<br />';echo iconv("UTF-8","gbk//TRANSLIT",$str);; //將字元串的編碼從UTF-8轉到GB2312
echo '<br />';echo iconv_substr($str, 1, 1, 'UTF-8'); //按字元個數截取而非位元組print_r(iconv_get_encoding()); //得到當前頁面編碼信息echo iconv_strlen($str, 'UTF-8'); //得到設定編碼的字元串長度?>
❸ 在PHP中,怎樣將編碼為UTF8的漢字轉換為gbk編碼的漢字
資料庫連接後
mysql_query("SET NAMES 'gb2312'");
直接自動轉換了
❹ php中用utf8編碼輸出中文就是亂碼
header("Content-Type: text/html; charset=utf-8");
可以省略,因為在meta已經定義了。
亂碼的原因是保存文件時,文件的編碼與顯示編碼不一致,只要另存為一次就好了
❺ php裡面怎樣把utf-8編碼的字元串 (如 \u5e7f), 重新解碼成中文,多謝
這種字元串是unicode編碼的,而不是utf-8。json_decode()可以自動將json中的unicode字元串轉換為utf-8。你可以自己構造一個json來實現。
12345<?php$str = '\u5e7f\u4e1c\u6df1\u5733';$json = '{"foo":"' . $str . '"}';$d = json_decode($json, true);$str = $d['foo']; // 這個就是你想要的
望採納!
❻ 如何解決PHP在utf-8編碼下中文顯示亂碼問題
如果php文件已經在頭部設置編碼格式為utf-8,在運行的時候還出現亂碼問題,可能是由於文件編碼格式不匹配或者頭部有bom信息輸出導致亂碼。解決辦法:
設置保存文件編碼格式為utf-8;
去掉文件頭部bom信息;
❼ PHP中如何將UTF-8字元串轉成漢字
樓主說的這個不是utf-8,這是URL字元串
可以用urldecode()這個函數解碼已編碼的 URL 字元串
urldecode('%E5%BC%A0%E8%80%81%E5%B8%88');
❽ 如何用PHP將JAVASCRIPT的UTF-8轉義字元轉換成漢字
有轉換字元編碼的函數啊。
$text=iconv("GB2312","UTF-8",$text);例如這樣。
不過不知道你的文件編碼是什麼。