台灣最大程式設計社群網站
線上人數
809
 
會員總數:245973
討論主題:189551
歡迎您免費加入會員
討論區列表 >> ASP >> [ASP]如何製作允許輸入多國文字的網頁
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[ASP]如何製作允許輸入多國文字的網頁
價值 : 0 QP  點閱數:1569 回應數:14
樓主

Allen 版主
高級顧問
81526 345
27754 17471
發送站內信

捐贈 VP 給 Allen
假設我現在要寫一個留言板(網頁文字是英文介面), 後端用SQL Server, 作業系統暫定是中文版
若我要能允許使用者輸入多國語言, 例如繁體/簡體中文, 日文, 歐洲字母, 並能事後修改, 或檢視記錄, 請問, 要注意哪些地方呢(資料庫, asp pagecode, html編碼方式)?
若作業系統, SQL Server 使用英文版, 是否有其他要注意的地方, 煩請有經驗的網友不吝告知, 謝謝。

本篇文章發表於2002-04-17 17:30
== 簽名檔 ==
=========================================
個人網站:http://www.webapp.com.tw/
Facebook粉絲頁-格子樑: https://www.facebook.com/wa.allenkuo/

ASP.NET 一對一教學資訊: http://www.webapp.com.tw/GenericArticle/view.aspx?id=1185
1樓
回應

安安
檢舉此回應
基本上要注意的不多,但是記得語言必須使用Unicode來處理
本篇文章回覆於2002-04-17 18:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Allen
捐贈 VP 給 Allen 檢舉此回應
安安, 
我有點偷懶, 還沒開始做就先問, 我想的是
1. SQL Server欄位用Nvarchar, SELECT/INSERT/UPDATE時, 加上N
2. 網頁中, 使用
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

請問這樣是否正確?
另外, ASP中要寫codepage嗎?若要, 是多少?
本篇文章回覆於2002-04-17 18:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

nbhero
檢舉此回應
寫入資料庫是沒問題的,但在網頁上顯示的時候就不好解決了。。。如果誰能解決,也告訴我一下。。。
本篇文章回覆於2002-04-18 05:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

神祕劍客
檢舉此回應
SQL Server: 在輸入字串常數的前面(即左邊單引號之前)加上大寫N (小寫n無效); 對應的欄位資料型態指定為n系列(即nchar, nvarchar, ntext).

ASP後端: 程式碼開頭加 <%@ Language="VBScript" CodePage=65001 %>,65001也就是UTF-8.

ASP前端(HTML輸出部份): 加 <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
本篇文章回覆於2003-04-12 22:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

神祕劍客
檢舉此回應
補充:正如紅淚網友所言,檔案也要轉存為UTF-8,才能完全避免亂碼.
本篇文章回覆於2003-04-15 22:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Allen
捐贈 VP 給 Allen 檢舉此回應
這個問題是差不多一年前問的
時間過得好快

這部份我已解決了

另外, 在繁體中文作業系統中如何製作簡體中文網頁並輸入簡/繁體中文也有做過了, 在MoMo幫忙下,事情很順利解決了
本篇文章回覆於2003-04-15 23:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Allen
捐贈 VP 給 Allen 檢舉此回應
sorry,忘了最重要的事

謝謝大家的回應 :)
本篇文章回覆於2003-04-15 23:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

kc
捐贈 VP 給 keny 檢舉此回應
重要的是分享一下到精華區吧?!
本篇文章回覆於2003-04-16 19:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

Allen
捐贈 VP 給 Allen 檢舉此回應
kc,
已有人貼出來過了, 精華區應該已經有了
:)
本篇文章回覆於2003-04-17 10:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

劉義權
檢舉此回應
>SQL Server: 在輸入字串常數的前面(即左邊單引號之前)加上大寫N (小寫n無效);

對這點不太了解!能不能舉個例子說明一下!謝謝!!
本篇文章回覆於2003-04-17 16:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

Allen
捐贈 VP 給 Allen 檢舉此回應
strSQL="INSERT INTO myTable(ID,vchName,vch_Addr)VALUES(1,N'中文版',N'台北市')"
你可以看到文字應該用單引號括起來
'中文版'

你只要在單引號前加N, 變成
N'中文版'
即可
本篇文章回覆於2003-04-17 16:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

神祕劍客
檢舉此回應
SQL = "INSERT INTO TABLE1 VALUES (N'" & Request.Form("keyword") & "')"
假設表單擷取到使用者由Global IME日文輸入法打出來的JIS編碼文字,
大寫N就能確保由表單擷取字串能被當作Unicode文字輸入資料庫.
本篇文章回覆於2003-04-17 17:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

劉義權
檢舉此回應
我了解了!感謝兩位回覆,但若以下列方式寫入資料庫該如何處理?
rs.addnew
rs("姓名")=request("name")
rs("地址")=request("addr")
rs.update
本篇文章回覆於2003-04-18 09:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

神祕劍客
檢舉此回應
操作Recordset的方式不要用開啟表格;而是用SQL字串.
本篇文章回覆於2003-04-19 23:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.