AL8 Forum
»
Discuz 4.0 及 4.1 插件發佈
» 解決繁體中文衝碼問題 ! 即多 "\" 而導致資料庫錯誤問題
‹‹ 上一主題
|
下一主題 ››
35
1/2
1
2
››
標題:
[D4.0 & 4.1]
解決繁體中文衝碼問題 ! 即多 "\" 而導致資料庫錯誤問題
打印
|
推薦
|
訂閱
|
收藏
steven88hk
0014547
頭銜: Member
帖子: 80
精華: 0
積分: 1060 點
現金: 140 元
存款: 0 元
閱讀權限: 15
註冊: 2005-1-8
狀態: 離線
#1
大
中
小
發表於 2006-7-16 13:27
資料
個人空間
短消息
加為好友
解決繁體中文衝碼問題 ! 即多 "\" 而導致資料庫錯誤問題
FREE:
很多用外國網存的站長相信都遇到繁體中文 Big5 衝碼的問題 ~ 即 "許功蓋" 問題
據我粗淺的瞭解,衝碼亂碼是big5的[專利]。
當你在簡體版論壇輸入繁體中文的時候,他[看起來是繁體],但實際編碼是gb2312
所以,「原簡體論壇中並不會衝繁體字」。
當你使用繁體版的論壇時,一般都使用big5編碼,
我個人認為,big5大概是全世界最隨便、最爛、最不負責任的編碼。
當初隨便亂編,留下了一堆衝碼的問題,這大概是big5的宿命
**假如你想用正則表達式 在字串裡頭圈選「都會」兩個字的時候,你就知道big5有多爛了
Big5中由於當初設計上的疏失,導致一些屬於控制字元的資料容易引起一些程式環境的誤判。
造成顯示出來的中文字不是我們想要的結果。
所以我們在寫程式的時候對於BIG5中文的處理要特別小心。下面列出了一些容易引發衝碼的文
字,寫程式的人,最好都能夠測試下面的字在你的程式中可以正確無誤的被使用。
ASCII(5C) == “\”
A45C麼 AE5C娉 B85C稞 C25C擺 A55C功
AF5C珮 B95C鈾 C35C黠 A65C吒 B05C豹
BA5C暝 C45C孀 A75C吭 B15C崤 BB5C蓋
C55C髏 A85C沔 B25C淚 BC5C墦 C65C躡
A95C坼 B35C許 BD5C穀 AA5C歿 B45C廄
BE5C閱 AB5C俞 B55C琵 BF5C璞 AC5C枯
B65C跚 C05C餐 AD5C苒 B75C愧 C15C縷
當以上呢 D 字用來做結尾的時候, 後面那個單引號加上 \ 之後,就被視為字串的一部份,而
該命令就少了一個單引號了。 呢個係繁體中文 Big5 在設計時遺漏下的歷史問題 ~
修改方法 :
一, 上傳附件中 fixbig5.func.php 到 ./include 裡面
二, 修改 ./include/newthread.inc.php
找
[Copy to clipboard]
[
-
]
CODE:
include template('post_newthread');
} else {
在下面加
[Copy to clipboard]
[
-
]
CODE:
//--修正許功蓋問題
require_once DISCUZ_ROOT.'./include/fixbig5.func.php';
$subject = Fix_Big5reg($subject);
$message = Fix_Big5reg($message);
//--修正許功蓋問題
三, 修改 ./include/newreply.inc.php
找
[Copy to clipboard]
[
-
]
CODE:
require_once DISCUZ_ROOT.'./include/forum.func.php';
在下面加
[Copy to clipboard]
[
-
]
CODE:
//--修正許功蓋問題
require_once DISCUZ_ROOT.'./include/fixbig5.func.php';
$subject = Fix_Big5reg($subject);
$message = Fix_Big5reg($message);
//--修正許功蓋問題
四, 修改 ./include/editpost.inc.php
找
[Copy to clipboard]
[
-
]
CODE:
include template('post_editpost');
} else {
在下面加
[Copy to clipboard]
[
-
]
CODE:
//--修正許功蓋問題
require_once DISCUZ_ROOT.'./include/fixbig5.func.php';
$subject = Fix_Big5reg($subject);
$message = Fix_Big5reg($message);
//--修正許功蓋問題
五, 修改 pm.php
找
[Copy to clipboard]
[
-
]
CODE:
updatecredits($discuz_uid, $creditspolicy['pm'], -1);
在下面加
[Copy to clipboard]
[
-
]
CODE:
//--修正許功蓋問題
require_once DISCUZ_ROOT.'./include/fixbig5.func.php';
$subject = Fix_Big5reg($subject);
$message = Fix_Big5reg($message);
//--修正許功蓋問題
最後一步就當然是更新緩存啦 ~
注意 : 此修改只適用於短信 , 發 Post , 回 Post 同修改 Post, 對於其他插件等的資
料庫 Insert 是冇效的 ~ 因為世上插件非常多 ~ 本人不能一一修改 ~
技術支援論壇 :
www.sillything.info
[
本帖最後由 steven88hk 於 2006-8-1 01:56 編輯
]
附件:
您所在的用戶組無法下載或查看附件
AL8 Forum © All rights reserved.
jack77
0042692
頭銜: Forum Legend
帖子: 1311
精華: 0
積分: 14390 點
現金: 295 元
存款: 4214 元
閱讀權限: 70
註冊: 2006-4-1
狀態: 離線
#2
大
中
小
發表於 2006-7-16 13:42
資料
個人空間
短消息
加為好友
正!!支持
修改插件,數據,切記,先作好備份。
謹慎處理,
心急可能造成無法挽回的後果
。
AL8 Forum © All rights reserved.
lkp-011222
0045744
頭銜: Newbie
帖子: 49
精華: 0
積分: 540 點
現金: 66 元
存款: 0 元
閱讀權限: 10
註冊: 2006-5-28
狀態: 離線
#3
大
中
小
發表於 2006-7-16 13:44
資料
個人空間
短消息
加為好友
要試下先 多謝
AL8 Forum © All rights reserved.
vpoint
0037378
頭銜: Member
帖子: 65
精華: 0
積分: 1075 點
現金: 7 元
存款: 0 元
閱讀權限: 15
註冊: 2005-12-22
狀態: 離線
#4
大
中
小
發表於 2006-7-16 13:51
資料
個人空間
短消息
加為好友
支持樓主
AL8 Forum © All rights reserved.
warkinger
0019747
頭銜: Lord
帖子: 372
精華: 0
積分: 4469 點
現金: 202 元
存款: 912 元
閱讀權限: 25
註冊: 2005-4-23
來自: zfree.org.ru
狀態: 離線
#5
大
中
小
發表於 2006-7-16 15:11
資料
個人空間
主頁
短消息
加為好友
連這種也在zend,有用和沒用一樣,浪費我2元,想說看看有沒有什麼可以學習的
國外空間又不是全用zend
不知是不是盜用這則寫法,懂php的人隨便也知如何修改放到dz上,還用什麼zend
http://chensh.loxa.edu.tw/php/X_1.php
這我之前和這的某位會員已研究出來了,只是沒發佈,也不想發佈,畢竟我是utf-8的愛好者
另外還有短訊的部份你也沒處理到!
[
本帖最後由 warkinger 於 2006-7-16 15:14 編輯
]
.
免費空間集散地
http://zfree.org.ru/
P2P資源網
http://zp2p.blog124.fc2.com/
.
AL8 Forum © All rights reserved.
steven88hk
0014547
頭銜: Member
帖子: 80
精華: 0
積分: 1060 點
現金: 140 元
存款: 0 元
閱讀權限: 15
註冊: 2005-1-8
狀態: 離線
#6
大
中
小
發表於 2006-7-16 15:23
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
warkinger
於 2006-7-16 15:11 發表。
連這種也在zend,有用和沒用一樣,浪費我2元,想說看看有沒有什麼可以學習的
國外空間又不是全用zend
不知是不是盜用這則寫法,懂php的人隨便也知如何修改放到dz上,還用什麼zend
[url]http://chensh.loxa ...
我看你誤會了 ~ 我不是用它的方法的 ~ 是有相似的地方 ~ 但不相同 ~ 我參考的是 Molyx Board 2.1.4 版本的方法然後改寫為 Discuz 版本的 ~ 因為我手上的 Molyx 是已經 Zend 了的版本 (我朋友發給我的) ~ 我不懂 unzend 他 ~ 如果你能 unzend 的話, 那就麻煩你對照一下原始碼喔 ~
還有 ~ 既然你研究到, 但是又不發布出來那不就是 "自私" 嗎 ~ 使好像我一樣用外國網存的站長苦惱了很久 ~ 我現在發佈 , 你又在這吵什麼呢 ? ~
最後, 我還是要謝謝你一句, 因為你提醒了我還要修改短信部分 ~ 現在已經加上了
[
本帖最後由 steven88hk 於 2006-7-16 15:36 編輯
]
AL8 Forum © All rights reserved.
warkinger
0019747
頭銜: Lord
帖子: 372
精華: 0
積分: 4469 點
現金: 202 元
存款: 912 元
閱讀權限: 25
註冊: 2005-4-23
來自: zfree.org.ru
狀態: 離線
#7
大
中
小
發表於 2006-7-16 15:35
資料
個人空間
主頁
短消息
加為好友
還要用到什麼 Molyx Board 2.1.4 版,之前alan888的dz25 sp1版就有了,隨便找一下代碼抓出來也行
unzend幹嘛去unzend它,自已把我說的網站的那20行改一下就好了
[
本帖最後由 warkinger 於 2006-7-16 15:38 編輯
]
.
免費空間集散地
http://zfree.org.ru/
P2P資源網
http://zp2p.blog124.fc2.com/
.
AL8 Forum © All rights reserved.
steven88hk
0014547
頭銜: Member
帖子: 80
精華: 0
積分: 1060 點
現金: 140 元
存款: 0 元
閱讀權限: 15
註冊: 2005-1-8
狀態: 離線
#8
大
中
小
發表於 2006-7-16 15:39
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
warkinger
於 2006-7-16 15:35 發表。
還要用到什麼 Molyx Board 2.1.4 版,之前alan888的dz25 sp1版就有了,隨便找一下代碼抓出來也行
這個我不知道 ~ 因為我沒有用過 25sp1 的版本 ~ 也不會去瀏覽 2.5 的插件 ~ 但是我只知道 alan888 給我的答案是這個 ~ 使我束手無策
http://www.alan888.com/Discuz/viewthread.php?tid=66809
AL8 Forum © All rights reserved.
warkinger
0019747
頭銜: Lord
帖子: 372
精華: 0
積分: 4469 點
現金: 202 元
存款: 912 元
閱讀權限: 25
註冊: 2005-4-23
來自: zfree.org.ru
狀態: 離線
#9
大
中
小
發表於 2006-7-16 15:57
資料
個人空間
主頁
短消息
加為好友
也罷,還以為你是程式的撰寫者,我只針對使用zend會造成一些沒zend空間,帶來不便
你可以試的研究修改這串代碼
http://chensh.loxa.edu.tw/php/X_1.php
至於dz25 sp1那是架好就有處理過了,架在任何空間,也不會有ascii92問題,我想是aln888站大不想去修改dz4原程式吧!
大概是很久之前有人放謠言說dz25 sp1有後門,叫大家別用......實在是可笑至極!
因此統一由官方下載及使用。
.
免費空間集散地
http://zfree.org.ru/
P2P資源網
http://zp2p.blog124.fc2.com/
.
AL8 Forum © All rights reserved.
steven88hk
0014547
頭銜: Member
帖子: 80
精華: 0
積分: 1060 點
現金: 140 元
存款: 0 元
閱讀權限: 15
註冊: 2005-1-8
狀態: 離線
#10
大
中
小
發表於 2006-7-16 16:03
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
warkinger
於 2006-7-16 15:57 發表。
也罷,還以為你是程式的撰寫者,我只針對使用zend會造成一些沒zend空間,帶來不便
你可以試的研究修改這串代碼
http://chensh.loxa.edu.tw/php/X_1.php
至於dz25 sp1那是架好就有處理過了,架在 ...
非常感謝你提供的好站 ! 經過我研究後 ~ 發現該站的代碼經過稍微修改後可以直接使用 ! 現在我提供一個無 zend 的版本給大家 ! 是改自以上網站的 ~
[
本帖最後由 steven88hk 於 2006-7-16 16:05 編輯
]
AL8 Forum © All rights reserved.
warkinger
0019747
頭銜: Lord
帖子: 372
精華: 0
積分: 4469 點
現金: 202 元
存款: 912 元
閱讀權限: 25
註冊: 2005-4-23
來自: zfree.org.ru
狀態: 離線
#11
大
中
小
發表於 2006-7-16 16:37
資料
個人空間
主頁
短消息
加為好友
那就程式是很久就有的處理ascii92經典範例,一堆人都是抄襲它的!
最後,我要說我很火大是因為付了錢,沒得到想要的東西,並不是和你吵
要使收費貼就要有本事,付出相對代價!
.
免費空間集散地
http://zfree.org.ru/
P2P資源網
http://zp2p.blog124.fc2.com/
.
AL8 Forum © All rights reserved.
steven88hk
0014547
頭銜: Member
帖子: 80
精華: 0
積分: 1060 點
現金: 140 元
存款: 0 元
閱讀權限: 15
註冊: 2005-1-8
狀態: 離線
#12
大
中
小
發表於 2006-7-16 16:40
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
warkinger
於 2006-7-16 16:37 發表。
那就程式是很久就有的處理ascii92經典範例,一堆人都是抄襲它的!
最後,我要說我很火大是因為付了錢,沒得到想要的東西,並不是和你吵
要使收費貼就要有本事,付出相對代價!
我也不是收很貴姐 ~ 才 2 元 ~ 昨天晚上本來我已經發了, 收費 1 元 ~ 但是他說我什麼扣稅之後為 0 , 讓我返回上一頁修改 ~ 然後我返回上一頁之後我剛剛打的東西全部都沒有了 ! ~
況且我是新來的, 現金又不是很多 ~ 就給我賺點吧 ~
[
本帖最後由 steven88hk 於 2006-7-16 16:43 編輯
]
AL8 Forum © All rights reserved.
phper
0043025
頭銜: Lord
帖子: 355
精華: 0
積分: 4600 點
現金: -100 元
存款: 396 元
閱讀權限: 25
註冊: 2006-4-7
狀態: 離線
#13
大
中
小
發表於 2006-7-17 03:21
資料
個人空間
短消息
加為好友
請問誰能敎我如何使用後台升級數據庫的語法,幫我把
淚\
這個斜線清除,這是銀行的備份數據,謝謝!!
[Copy to clipboard]
[
-
]
CODE:
INSERT INTO cdb_bankstatus VALUES('6','7','淚\痕殤','0','0','8888','1151329121');
AL8 Forum © All rights reserved.
小康@HK
0027215
頭銜: Moderator
暱稱: 小康
帖子: 1219
精華: 0
積分: 13955 點
現金: 261 元
存款: 1019 元
閱讀權限: 100
註冊: 2005-7-26
來自: HK
狀態: 離線
#14
大
中
小
發表於 2006-7-17 09:45
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
phper
於 2006-7-17 03:21 發表。
請問誰能敎我如何使用後台升級數據庫的語法,幫我把
淚\
這個斜線清除,這是銀行的備份數據,謝謝!!
[code]INSERT INTO cdb_bankstatus VALUES('6','7','淚\痕殤','0', ...
依個唔需要刪除~
因為唔係在最尾,所以唔會有沖凸~
AL8 Forum © All rights reserved.
phper
0043025
頭銜: Lord
帖子: 355
精華: 0
積分: 4600 點
現金: -100 元
存款: 396 元
閱讀權限: 25
註冊: 2006-4-7
狀態: 離線
#15
大
中
小
發表於 2006-7-18 06:16
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
小康@HK
於 2006-7-17 09:45 發表。
依個唔需要刪除~
因為唔係在最尾,所以唔會有沖
凸?
~
可是我無法正常使用行長各別獎勵,因為系統找不到這個用戶名。
謝謝!!
AL8 Forum © All rights reserved.
gpson
0044870
頭銜: Newbie
帖子: 34
精華: 0
積分: 440 點
現金: 98 元
存款: 0 元
閱讀權限: 10
註冊: 2006-5-11
狀態: 離線
#16
大
中
小
發表於 2006-7-18 09:02
資料
個人空間
短消息
加為好友
買了使用中, 非常好. 等了這個修改很久了, 謝謝!
AL8 Forum © All rights reserved.
bencwk
0000170
頭銜: Moderator
帖子: 2472
精華:
55
積分: 43910 點
現金: 5 元
存款: 83044 元
閱讀權限: 100
註冊: 2004-1-20
狀態: 離線
#17
大
中
小
發表於 2006-7-18 09:05
資料
個人空間
主頁
短消息
加為好友
標題錯誤
/
應該係
\
..
GTA SA網: gta-sa.04gd.com
討論區: bbs.04gd.com / bbs2.04gd.com
AL8 Forum © All rights reserved.
漩渦鳴人
0019177
頭銜: King
帖子: 927
精華: 0
積分: 6981 點
現金: 21 元
存款: 42610 元
閱讀權限: 30
註冊: 2005-4-12
來自: ≡ 酷Game ≡
狀態: 離線
#18
大
中
小
發表於 2006-7-22 13:07
資料
個人空間
主頁
短消息
加為好友
這問題有時候也困擾我
免費遊戲封測序號任你拿 http://www.mt-game.com
AL8 Forum © All rights reserved.
cyt05108
0041820
頭銜: King
帖子: 643
精華: 0
積分: 4712 點
現金: -90 元
存款: 0 元
閱讀權限: 30
註冊: 2006-3-17
狀態: 離線
#19
大
中
小
發表於 2006-7-22 13:22
資料
個人空間
短消息
加為好友
support!!!!!!!!!!!!
http://bbs.hk-fz.com/
AL8 Forum © All rights reserved.
anthony^^
0048044
頭銜: Newbie
帖子: 1
精華: 0