主题:  关于ASP制作繁体网页的问题

文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#12002/2/21 20:18:28
我正在做一个繁体的网站。使用了ASP和ACCESS数据库。
大家知道,简体的网页转为繁体可以使用飓风简繁通将其转化为BIG5码文件,并在源代码中添加
但我发现问题大了。这样转化后,页面上的简体字是变繁体了,但读出来的数据库内容怎样变繁体呢?当用户使用“查看/编码”菜单,用繁体中文来看网页时,数据库的内容就变了乱码。
各位可有什么解决的好办法?



newsanhao

职务:普通成员
等级:1
金币:0.0
发贴:42
#22002/2/25 10:46:07
你必须有简体和繁体的转换字库,用ASP程序转换后才能输出。



vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#32002/2/25 17:15:19
第一, 你必须将简体字转换成繁体字 (可用 Dr.eye)
第二, 在 ASP 文件的最顶一行加上 <% @ LANGUAGE=VBScript CODEPAGE=950 %>

如果你是 Windows2000 平台, 必须先安装好 Chinese Big5 内码
而第二步的 CODEPAGE 其实是呼叫服务器的内码 (950代表big5)



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#42002/2/25 18:00:42
是將MDB數據庫里的簡體字轉為繁體字嗎?
給我這個軟件吧。



vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#52002/2/26 10:26:48
如果你要将 MDB 的数据由简体变成繁体,看来难度很高。
以我所知 Access 不能直接简转成繁体的;

你的情况,本人提供两种方法 (不一定是最好的方法):
第一种方法:
如果你熟用 ASP,可以写一 ASP 把 MDB 的数据 Gen 成 TXT 文件,
然后用其它软件把TXT文件转成繁体字,再把 TXT 文件写入另一新的 MDB。

第二种方法:
假如你对 CGI, Java,C 等熟悉的,可以写一程序放在服务器端直接把文字转换,
这个方法应该是最好和最动态的,不过虽要的编程能力可不少。不妨一些曾经写 Mud 游戏的朋友帮助,因为 Mud 有这个功能,也是 C 语言来的。



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#62002/2/26 10:54:01
很感謝你給了我這麼中肯的回答。第一個方法工作量太大,第二個方法我沒有這樣的編程功力。不過我找到了一個折衷的方法。
用繁體輸入法輸入繁體字,然後在CHARSET中設置其值是GB2312,用來強制香港,臺灣的用戶使用簡體編碼瀏覽,這樣可以應付一陣子。
那位朋友有更好的方法,請告訴我。



vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#72002/2/26 11:09:27
朋友,假如你有繁体输入法输入中文,那些中文字的编码是 BIG5 的。
在这个情况下,你的网页必须设置为 BIG5,否则浏览者是不能正常浏览的。
其实网页内的编码设置不是将文字编码直接转变,其功能只是把网页的编码告诉给浏览器,让浏览器设置好正确的编码显示。



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#82002/2/26 11:54:17
我試過了。繁體輸入法輸入的只能在簡體編碼下看到,當使用繁體編碼來瀏覽時,原來的繁體字就會變亂碼。
同樣的道理,當我輸入繁體(就像這些字一樣),然後cherset=big5時,出現的就是亂碼。
當然,如果事先使用“簡繁通”之類的工具轉換為BIG5就可以正常顯示。但我的頁面中既有文本,又有通過ASP讀出來的數據庫內容。所以就不可能兩全其美了。

编辑历史:[这消息被文君编辑过(编辑时间2002-02-26 11:55:17)]


vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#92002/2/26 12:19:01
因为 charset 只是宣告给浏览器的编码
你现在的问题是服务器从数据库中读数据出来时的编码,以下给你一个详细的方法和解释。


例子及程序,就是之前提及的方法一:
conndb.asp ----------- 只作 connect 原有的简体 MDB 之用
GenToFile.asp ------- 用来把简体 MDB Gen 成 TXT 的 ASP 程序
修改部分:
(在conndb.asp中把MapPath("gbbook.mdb")修改成MDB路径及名称)
(在GenToFile.asp 中修改table name ) 即sqlstr="select * from book"

Gen File 方法:
WebServer中执行GenToFile.asp,在 File Name内写入文件名称。
例如:book.txt (请以xxxxx.txt 作文件名称)
程序会自动把 book.txt 文件 Gen 出来的,book.txt 仍是简体文件的,所以你必须通过工具把 book.txt 转变成 Big5 编码。
(可选用 Dr.eye 或是 Windows2000 的转码工具)

汇入MDB:
在Access 打开新数据库,取得外部资料,汇入 big5文件 book.txt
基本上可以按 next,按了三次 next 后可以改字段名称,最好是用英文,在这里字段1我改成 id,字段2改成 book,字段3改成 issue;当然输入什么都可。
下一步后,自行选择主索引键;
最后一步,汇入至资料表:book
这样新的 big5book.mdb 数据库已完成。

gboutput.asp --------- 显示原有的简体 MDB 资料
big5output.asp ------ 显示繁体 MDB 资料
注意:

<% @ LANGUAGE=VBScript CODEPAGE=950 %>
都必须要增加的,因为第一句是 HTML 用来告诉浏览器显示的编码
第二句是服务器在数据库中抽出来的写在 HTML文件中的编码

download sample



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#102002/2/26 13:36:21
真是感激不盡.這張貼子可以列為ASP精華了.



vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#112002/2/26 15:17:53
小弟只是尽力解答,希望各人亦有所多。 ;)



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#122002/2/26 17:35:20
www.hwtour.com/new/forchina/hotel/booking.asp
還有一個比較菜的問題想問你老兄。請看上面的網頁,表單不能達到頁面的頂端,而頁面里的确是沒有

標簽存在。有什麼解決的方法?



vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#132002/2/26 18:29:04
在 body 中加入 topmargin=”0” leftmargin=”0” marginwidth=”0” marginhegiht=”0” 试试看吧



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#142002/2/27 9:27:40
還是不行,老兄.



vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#152002/2/27 9:42:17
不好意思,之前误会了你说的是网页不能置顶,原来你说的是窗体!
你能给我源代码看看吗 ?