如何用PHP搞定中文字元編碼問題

時間 2021-10-14 21:30:54

1樓:匿名使用者

php根本沒法準確地判斷出使用者提供的原始檔內容是啥編碼字符集.

我目前的方法.

$encoding = mb_detect_encoding($str, "auto");

mb_substitute_character("none");

mb_convert_encoding($str, 'utf-8', $encoding);

2樓:

1、要麼頁面原始漢字和從資料庫裡取出的漢字全是亂碼;

2、要麼原始漢字和資料庫漢字,一個顯示正常了,另一個就變成亂碼了。

問題需要一步一步的解決。在實際操作以下方法之前,需要配置 web 伺服器,使其與 php 整合,最終可以除錯 php 程式。我們以常見的 gb2312 和 utf-8 字符集為例來測試和說明。

瀏覽器是 ie7.0。

1、頁面原始漢字亂碼的解決

解決這個問題就需要使用 ultraedit 的這個功能。

1.1 開啟中文 windows,用 ultraedit 建立一個文字檔案,手工輸入一個 php 頁面檔案,檔案內容如下。儲存為 test1.

php 檔案,注意儲存時「格式」下拉框選擇「預設」- 特別注意這裡。

php 輸出簡單的中文 亂碼問題

3樓:

少個header宣告

<?php

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

echo '中文';

?>

然後將php文件用編輯器轉化為utf編碼

4樓:陽光上的橋

在瀏覽器的頁面上點滑鼠右鍵檢視編碼,php原始檔是什麼編碼,兩個統一嗎?

5樓:易寄波

亂碼的原因無非就是瀏覽器無法正確索引檔案的字符集編碼,首先要清楚一個常識就是,檔案的編碼(也就是說檔案用什麼編碼建立的就是什麼編碼)與瀏覽器索引(索引就是用什麼編碼去檢視)的編碼要一致,否則就會出現字元亂碼,那麼**如下:

// 解決方案有兩種,都必須在檔案輸出字元前宣告(哪怕一個換行一個空格也不行,都會導致設定上的失效)

// 解決方案1:html方式

echo '';

// 解決方案2:php方式

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

以上若還有任何疑問,歡迎追問~

6樓:啊怪

這個跟php沒關係 編號問題 在echo之前請先使用header(『http頭』) 函式。

7樓:匿名使用者

頁面上明顯不是utf8,是gb2312吧。轉化下。

dw裡面的話。按ctrl+f。裡面有個編碼選擇

php怎麼把經過utf-8編碼的中文字元轉換成正常的中文

8樓:匿名使用者

首先,baiutf-8編碼的中文字du符也是正常的。zhi如果你認為 gb2312 才「正常」dao, 可以這樣版:

$utf8_str = '中文'; // 注意這兒得是權 utf-8 編碼的字串

$gb2312_str = mb_convert_encoding($str, 'gb2312', 'utf-8');

%e5%90%89%e6%9e%97

有人已經回答了,

用 urldecode 就行了。

9樓:

<?

$a=urldecode("%e5%90%89%e6%9e%97");

$a=mb_convert_encoding($a, 'gb2312', 'utf-8');

echo $a;

?>

10樓:匿名使用者

用mb_convert_encoding函式轉換,你要說明就看下面:

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

converts the character encoding of string str to to_encoding from optionally from_encoding

也可以用iconv,但這個函式有些情況會出錯你這個不是版utf-8編碼,用urldecode來解碼,你試試權

11樓:匿名使用者

$file="你的字";

$text = mb_convert_encoding("$file", "gbk", "utf-8");

就是這樣。

在echo出來 $text

12樓:du瓶邪

:<%

key=request("key")

dim s

dim t

dim i

dim jjjj

dim h

dim l

dim ***x

s=""

***x=len(key)

for i =1 to ***x

t = mid(key,i,1)

jjjj = asc(t)

if jjjj> 0 then

if f then

s = s & "%" & right("00" & hex(asc(t)),2)

else

s = s & t

end if

else

if jjjj < 0 then jjjj = jjjj + &h10000

h = (jjjj and &hff00) \ &hff

l = jjjj and &hff

s = s & "%" & hex(h) & "%" & hex(l)

end if

next

set rs=server.createobject("adodb.recordset")

rs.open sql,conn,1,1

%>

php 怎麼將unicode編碼轉換為中文字元

13樓:匿名使用者

echo json_decode('"\u5c0f\u5f1f\u52aa\u529b"');

注意要在單引號後面加雙引號

如何用ps修改psd檔案中文字,如何用PS修改PSD檔案中文字

ps休閒時刻 用ps修改psd檔案中文字的方法是 1 開啟psd檔案。2 選擇所需要修改的文字圖層。3 選擇文字工具。4 使用滑鼠在文字上點下,這時就出現了文字的游標。5 當出現文字的游標以後,就和平常修改文字或者鍵入文字是同樣的操作方法了。psd格式的 上面的文字怎麼修改? 且看時光 1 如果是分...

php如何用路徑指向某方法,php如何設定相對路徑

你這種的話,可能要用到很多方面的東西,你可以參考一下一些框架,如yii框架等,我自己也寫過一些簡單的框架。如果你自己要實現這樣的功能的話,大致思路如下 使用單一入口檔案,這樣所有的請求都從這裡過,便於控制 有專門的類處理你的請求,並能夠根據請求引數呼叫引數指定的方法處理請求 進行url重寫,將帶有引...

php中如何用get獲取輸入的值

form標籤中的method post 這個是說提交的方式是post提交 所以你在php獲取值要用 post來獲取。post是一個陣列,表單中的元素的name就是它的索引。比如鋼板厚度就是 post hou1 如果method post 那麼就要用 get。用法和 post類似 它也是個陣列。另外你...