[請益] 網頁資料庫皆為utf8,但下PHP指令後變亂碼?

看板PHP作者 (riceworn)時間15年前 (2008/10/26 22:31), 編輯推噓5(507)
留言12則, 7人參與, 最新討論串1/1
各位先進好 小弟最近遇到亂碼問題 經過爬文各位先進的教導後 已經把網頁 資料庫都設為utf8 現在正常存取顯示都很正常 唯獨現在因為版面問題下了PHP指令卻變成亂碼 程式碼如下 $title=$row[1]; echo $title; if(strlen($title)>40){ $title=substr($title,0,40)."..."; } 此時在上面的 echo 出的都是顯示正確中文 但經過strlen跟substr處理後 就變成亂碼了 請問這樣問題是出在哪邊呢 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.36.156

10/26 22:56, , 1F
試試看 Multibyte String Functions吧
10/26 22:56, 1F

10/26 23:11, , 2F
不好意思,能說詳細點嗎?不是很懂呢... 謝謝
10/26 23:11, 2F

10/26 23:38, , 3F
中文跟英數符號長度不同, 你substr()切到中文
10/26 23:38, 3F

10/26 23:38, , 4F
所以會顯示問號 "?"
10/26 23:38, 4F

10/26 23:39, , 5F
一樓是要你改用 mb_string()
10/26 23:39, 5F

10/26 23:42, , 6F
UTF-8我記得一個字是三字元?
10/26 23:42, 6F

10/27 00:24, , 7F
是用記事本寫嗎? 可能儲存編碼不是存utf-8
10/27 00:24, 7F

10/27 00:26, , 8F
我之前犯的小錯誤 請見文章 6289
10/27 00:26, 8F

10/27 13:57, , 9F
substr改成mb_substr試試看會不會有改善
10/27 13:57, 9F

10/27 19:23, , 10F

10/27 22:29, , 11F
感謝眾未先進的教導,小弟成功了 原來utf8要先設定阿
10/27 22:29, 11F

10/27 22:29, , 12F
位 打錯字了 抱歉
10/27 22:29, 12F
文章代碼(AID): #1917zHbl (PHP)