Demo

討論

保持飢餓,保持愚笨 (Stay hungry, stay foolish)。 史蒂夫·賈伯斯

公告

本網站已取消討論區的討論方式,如果您有問題請至LINE群行動條碼圖片網址,或Facebook社團

一個關於 PHP 裡面文字編碼的問題

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-27 21:03 #17173 來自 hilelen
hilelen created the topic: 一個關於 PHP 裡面文字編碼的問題
我的元件有一個文章留言自動寄 email 通知的設定
寄的內容是英文,我想修改成中文(例如把信件標題 A New Comment Posted 改成「有一個新留言」)
我知道需要修改的地方在一個 item.php 的檔案裡,也找得到確切的位置
但是問題是我改成中文後,寄出來的信的中文部份是一堆問號(留言的中文部份則沒問題)
後來我找到用純文字模式打開,另存成 utf-8 的格式(原來的是 ANSI 格式)的方式
(我利用這個方式解決了自己翻譯的中文化檔案出現亂碼的問題)
所以也拿來試試看,沒想到信件的中文部份反而變成一堆亂碼(就是一堆黑黑的方塊)

所以想請教是否有人可以為我解答,要如何解決編碼的問題

感激不盡

Please 登入 to join the conversation.

  • pata203
  • pata203 的個人頭像
  • 訪客
  • 訪客
2010-01-27 22:46 #17178 來自 pata203
pata203 replied the topic: 一個關於 PHP 裡面文字編碼的問題
這種寄信一般應該是用form的方法 joomla也是用php程式吧

也就是用php搭配html寄信的 所以問題就直接把該item.php語系改一下

至於放在哪裡 就請你再找找看吧 如果你說是item.php那應該就是這個了

另外
應該不是改成中文喔 是改成utf-8才對

你的joomla應該是utf-8

所以 網頁.html item.php語系要一樣吧

item.php我是沒有Check過內容 但如果你知道 你就改改看吧 如果不行大家再討論吧

Please 登入 to join the conversation.

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-27 23:32 #17181 來自 hilelen
hilelen replied the topic: 一個關於 PHP 裡面文字編碼的問題
謝謝你的回應
我又重新試了一次,這次我非常確定 php 檔是 utf-8 格式
我上傳後又在 Cpanel 裡確認過了,是修改過後的 utf-8 格式檔沒錯
我的瀏覽器還特地調成 utf-8,頁面其他中文都沒問題,就是加在 item.php 裡的中文變成問號
我還特別加了一點東西測試 bug,
結果你可以從附圖看到最下面的一堆問號(原來是中文),還有我特地加了兩遍的「 not valid」

[attachment=1:3r0n384b]<!-- ia1 -->codingproblem.png<!-- ia1 -->[/attachment:3r0n384b]

這次我附上這個 item.php 檔,希望有心人可以為我解答
(圖上所指的中文在比較後段的地方,只要一直捲到看到中文的地方就是了)
(php 不被允許上傳,所以我壓縮成 zip 檔)
附件:

Please 登入 to join the conversation.

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-27 23:59 #17182 來自 hilelen
hilelen replied the topic: 一個關於 PHP 裡面文字編碼的問題
我另外查了一下,在 Joomla 根目錄的地方我找不到 html 檔
只看到有一個 index.php 打開看是 us-ascii 的格式
跟這個有關係嗎? 可是網站其他中文部份又都沒問題!

Please 登入 to join the conversation.

  • pata203
  • pata203 的個人頭像
  • 訪客
  • 訪客
2010-01-28 06:24 #17199 來自 pata203
pata203 replied the topic: 一個關於 PHP 裡面文字編碼的問題

hilelen 寫了道:: 我另外查了一下,在 Joomla 根目錄的地方我找不到 html 檔
只看到有一個 index.php 打開看是 us-ascii 的格式
跟這個有關係嗎? 可是網站其他中文部份又都沒問題!


跟這個index.php可能沒關係吧
只要該item.php可以就可以

對了 分享一個想法 但我也不知道可不可以 以前我是在一般form的php網頁測試日文 結果是這樣的方法成功
用網頁把php包起來 把php語法放到下面的body裡面 但是檔名依然不變

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
把php原始碼放到這邊body裡面 但請記得先備份原始item.php
我的習慣是 先改名成為-item.php 如果不行再改回來 這樣先放在伺服器上面 也比較安心
如果幾天後怪怪的 也還可以改回來
</body>
</html>
加油喔 !

Please 登入 to join the conversation.

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-28 10:38 #17202 來自 hilelen
hilelen replied the topic: 一個關於 PHP 裡面文字編碼的問題
謝謝你的提供
我試了,不過結果卻在預料之外
我在網頁得到了這樣的訊息

Parse error: syntax error, unexpected '<' in /home/.../public_html/.../components/com_k2/models/item.php on line 962

我查了一下第 962 行,它指的正是 </body> 這個加上去的標簽

救命啊............(我本來是想造福其他人的。。。看來要放棄了。。。大家努力學英文吧!!)

Please 登入 to join the conversation.

  • fashion_jack
  • fashion_jack 的個人頭像
  • 訪客
  • 訪客
2010-01-28 20:44 - 2010-01-28 21:13 #17214 來自 fashion_jack
fashion_jack replied the topic: 一個關於 PHP 裡面文字編碼的問題
ITEM.PHP 的第一行
?<?php
將第一個? 去除試看看.....

如果第一個 ? 是用來傳參數的,那麼將 item.php直接用AscII存檔看一下.
最後修改原因: 2010-01-28 21:13 來自 .

Please 登入 to join the conversation.

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-28 21:03 #17215 來自 hilelen
hilelen replied the topic: 一個關於 PHP 裡面文字編碼的問題
最前面並沒有那個問號
然後它一直無法存成 big5 格式(除了用 c-panel 我也不知道有什麼其他方法)

附圖是現在 item.php 的狀況

現在依然是中文留言內容沒問題,其他中文頁面也沒問題
只有這個 php 檔要在前台回應的中文變成問號
而如果加上前面建議的 html 就變成空白畫面 + 那一行 line 962 訊息



[attachment=0:381jzh51]<!-- ia0 -->phpcode.jpg<!-- ia0 -->[/attachment:381jzh51]
附件:

Please 登入 to join the conversation.

  • fashion_jack
  • fashion_jack 的個人頭像
  • 訪客
  • 訪客
2010-01-28 21:15 #17216 來自 fashion_jack
fashion_jack replied the topic: 一個關於 PHP 裡面文字編碼的問題
Sorry 寫錯了,是直接 ASCII存檔,不要轉UTF-8

Please 登入 to join the conversation.

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-28 21:50 #17217 來自 hilelen
hilelen replied the topic: 一個關於 PHP 裡面文字編碼的問題
ok, 好不容易亂按變成了 ASCII ,不過卻出現了另一個問題
item.php 裡的中文也都被「轉」了

請看圖解.........................呼......我還是放棄好了...........
果然是隔行如隔山啊......

[attachment=1:3nt3zvnr]<!-- ia1 -->phpcode-ascii.jpg<!-- ia1 -->[/attachment:3nt3zvnr]

[attachment=0:3nt3zvnr]<!-- ia0 -->phpfrontviewascii.jpg<!-- ia0 -->[/attachment:3nt3zvnr]
附件:

Please 登入 to join the conversation.

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-28 22:22 #17218 來自 hilelen
hilelen replied the topic: 一個關於 PHP 裡面文字編碼的問題
我又試著玩了一番結果發現

1.如果我上傳原本的英文檔(格弍是ASCII)
然後在需要的地方改成中文,雖然事後發現 php 檔裡的中文還是變成了一堆數字(像這樣 "有一個新評論")
但是在前台卻可以完美地出現中文回應

2.如果我在電腦裡修改成中文後再上傳(格式自己變成了 big5)前台回應就會出現亂碼
再改成 ASCII ,回應就又變成另一種亂碼

我是很想用第1個方法改好後,下載再壓縮分享給其他人
只是下載的檔裡中文部份還是數字,不知道其他人上傳會怎麼樣

所以,這麼一來我是可以在自己的網站解決
但是我要分享給別人就沒辦法了(問題是我對英文又沒問題,改成中文對我沒用啊......)

放棄ing.................

Please 登入 to join the conversation.

  • fashion_jack
  • fashion_jack 的個人頭像
  • 訪客
  • 訪客
2010-01-29 09:37 #17222 來自 fashion_jack
fashion_jack replied the topic: 一個關於 PHP 裡面文字編碼的問題
那些編碼是Unicode,
可以看到中文應該就對了.
圖中的編碼是Server轉出的,您的檔案內仍然是中文,
用第一種方式打包沒問題的.
因為該程式使用 ? 來傳參數所以比較麻煩,是比較不好的寫法.

Please 登入 to join the conversation.

  • hilelen
  • hilelen 的個人頭像 Topic Author
  • 訪客
  • 訪客
2010-01-29 17:41 #17232 來自 hilelen
hilelen replied the topic: 一個關於 PHP 裡面文字編碼的問題
謝謝你的提供 :love:

那麼我就這樣試試看
然後把原版和中文化的都上傳提供
以免有人無法正常顯示中文而我又不會解決,至少還有原版的可以使用

Please 登入 to join the conversation.

  • pata203
  • pata203 的個人頭像
  • 訪客
  • 訪客
2010-02-03 22:23 #17315 來自 pata203
pata203 replied the topic: 一個關於 PHP 裡面文字編碼的問題

hilelen 寫了道:: 謝謝你的提供 :love:

那麼我就這樣試試看
然後把原版和中文化的都上傳提供
以免有人無法正常顯示中文而我又不會解決,至少還有原版的可以使用


報歉呀 讓你弄這麼久
最近忙到很少過來
還好有其他人幫忙

當時其實我有寫 先把原始檔案前面加-號 在上傳新的 其實就是這個緣故

這是我的習慣 但是滿好的 我也常常改到整個花掉 但是十秒內就可以再恢復了

Please 登入 to join the conversation.