新聞中心
在與全球用戶互動的數字世界中,多語言已經成為了不可或缺的要素。許多企業(yè)都意識到了這一點,將其品牌以及產品本地化,以便更好地適應不同語言和文化。為了實現(xiàn)多語言化,數據庫國際化已經被廣泛應用于各種不同類型的應用程序中。本文將深入探討數據庫國際化的實現(xiàn)和動態(tài)內容多語言化。

創(chuàng)新互聯(lián)長期為成百上千客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為揚州企業(yè)提供專業(yè)的網站設計、網站制作,揚州網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
什么是數據庫國際化?
數據庫國際化是將一個數據庫設計為可以支持多種語言和字符集,以便在不同區(qū)域和文化中使用。這包括使用不同的字符集和語言實現(xiàn)數據存儲、排序、搜索、輸入和輸出。數據庫國際化旨在使不同語言之間的數據流動更加平滑,減少對本地化開發(fā)人員的角色依賴。
與本地化不同,數據庫國際化不考慮最終用戶的語言和文化設置。數據庫只需要支持所有可能的語言和字符集,而最終用戶根據自己的需要選擇其語言和字符集。數據庫國際化不是解決單一語言文本的問題,而是關注在多語言環(huán)境下,如何將所有可能的語言和字符集整合到一個數據庫中。
實現(xiàn)數據庫國際化的策略
數據庫國際化的難點在于字符集和文本排序。字符集是由一組字符和相應的二進制表示定義,而排序需要考慮字符的順序。在西方文化中,排序通常是按字母順序進行的,而在其他文化中,排序可能是按照不同的規(guī)則進行的。
因此,實現(xiàn)數據庫國際化需要確定以下這些因素:
1. 支持的字符集:首先需要確定數據庫所支持的字符集,以及如何將這些字符映射到Unicode字符集。這包括了所有的拉丁文字符集、漢字、希臘字母、希伯來字母、阿拉伯字母等等。
2. 排序規(guī)則:數據庫需要根據不同國家和地區(qū)的文化習慣確定字符的排序規(guī)則。這涉及到排序算法和排序表。
3. 多語言消息的存儲:如何存儲多語言消息是非常重要的,因為這是在不同地區(qū)的用戶之間傳遞信息的方式?,F(xiàn)在大多數技術都采用XML或ON格式存儲多語言消息,這非常有幫助,因為它們可以被很方便地解析。
實現(xiàn)動態(tài)內容多語言化
要實現(xiàn)動態(tài)內容多語言化,我們需要將數據和語言分離。這意味著將所有的靜態(tài)文字、標簽名稱和錯誤消息都從代碼中分離出來,以便在不同的語言環(huán)境中使用。在每個語言文件或數據庫表中,對于每個特定的字符串都會提供翻譯版本。在特定的頁面加載時,系統(tǒng)會根據用戶的語言設置自動選擇適當的語言文件或數據庫表。
以下是實現(xiàn)動態(tài)內容多語言化需要考慮的:
1. 處理編碼和國際化字符:不同的語言和字符集需要不同的編碼方式,這需要特別注意。在處理文本輸入和輸出時,需要確保使用正確的編碼和字符集。
2. 確定默認語言:確定適當的默認語言以便在不存在特定用戶語言時進行顯示。
3. 使用語言標識符:使用標準語言標識符(如ISO語言代碼)以便在許多應用程序中無縫地傳遞數據。
4. 提供語言選擇機制:允許用戶選擇他們喜歡的語言,以便在多語言環(huán)境中使用。
數據庫國際化和動態(tài)內容多語言化的優(yōu)勢
數據庫國際化和動態(tài)內容多語言化的主要優(yōu)勢是:
1. 提高用戶體驗:使用用戶的母語和文化來降低溝通障礙,使用戶感覺更接近你的品牌。
2. 提高產品可用性和可擴展性:更方便的語言和字符集文件可以支持更多的應用程序。
3. 減少開發(fā)成本:使用國際化技術可以減少開發(fā)人員多語言開發(fā)的工作量,從而降低開發(fā)成本和時間。
4. 達到全球市場:使用國際化技術可以使你的品牌和產品適應更多的市場和文化。
結論
現(xiàn)在的商業(yè)環(huán)境不再局限于地域和語言,而是更關注與全球市場對接。數據庫國際化和動態(tài)內容多語言化是實現(xiàn)這一目標的更佳方式之一。使用這些技術可以讓企業(yè)在全球范圍內與客戶更好地合作,提高用戶滿意度,降低開發(fā)成本并擴大市場范圍。隨著數字技術和網絡的發(fā)展,數據庫國際化和動態(tài)內容多語言化將變得愈發(fā)重要。
相關問題拓展閱讀:
- 如何調用WebService接口把數據存儲到數據庫里而不使用P頁面
如何調用WebService接口把數據存儲到數據庫里而不使用P頁面
訪問WEBSERVICE本來都不需要使用P頁面吧?直接客戶端調用就行了啊。如果有返回對象的話,生成一下對象,如果只返回的基本類型的話,直接解析XML就OK了。
1. 包含一個controller servlet,能將用戶的請求發(fā)送到相應的Action對象。
2. P自由tag庫,并且在controller servlet中提供關聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應用。
3. 提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。
Struts項目的目標是為創(chuàng)建Java web應用提供一個開放源代碼的framework。Struts framework的內核是基于例如Java Servlets, JavaBeans, ResourceBundles, 和 XML,以及各種 Jakarta Commons包的標準技術的靈活的控制層。
8 jsp有哪些內置對象?作用分別是什么?
答: P共有以下9種基本內置組件(可與ASP的6種內部組件相對應):
request 用戶端請求,此請求會包含來自GET/POST請求的參數
response 網頁傳回用戶端的回應
pageContext 網頁的屬性是在這里管理
session 與請求有關的會話期
application servlet 正在執(zhí)行的內容
out 用來傳送回應的輸出
config servlet的構架部件
page P網頁本身
exception 針對錯誤網頁,未捕捉的例外
9 兩種跳轉方式分別是什么?有什么區(qū)別?
答: 有兩種,分別為:
I0前者頁面不會轉向include所指的頁面,只是顯示該頁的結果,主頁面還是原來的頁面。執(zhí)行完后還會回來,相當于函數調用。并且可 以帶參數.后者完全轉向新頁面,不會再回來。相當于go to 語句。
10 描述一下Jsp中Taglib的用法
答: 一、之一種方法:僅聲明TLD位置
在jsp文件頭部,聲明:
二、第二種方法:定義庫名稱
在jsp文件頭部,聲明:
在WEB.XML添加如下聲明:
taglib>
/orataglib
/WEB-INF/tlds/orataglib_1_0.tld
在tld里加上:
ora
/orataglib
11 Javascript中如何校對數字型?
答:
12 EJB2.0 中包括那些內容?作用分別是什么?
答: 規(guī)范內容包括Bean提供者,應用程序裝配者,EJB容器,EJB配置工具,EJB服務提供者,系統(tǒng)管理員。這里面,EJB容器是EJB之所以 能夠運行的核心。EJB容器管理著EJB的創(chuàng)建,撤消,激活,去活,與數據庫的連接等等重要的核心工作。P,Servlet,EJB,JNDI,JDBC,JMS…..
13 一個SessionBean包含哪幾個組件?各個組件作用是什么?
答: Session Bean 包含: Stateful Session Bean 與 Stateless Session Bean
Stateful Session Bean 可以記錄 呼叫者的狀態(tài),因此通常來說,一個使用者會有一個相對應的 Stateful Session Bean 的實體。 Stateless Session Bean 不負責記錄使用者狀態(tài),也就是說當使用者呼叫 Stateless Session Bean 的時候, EJB Container 并不會 找尋特定的 Stateless Session Bean 的實體來執(zhí)行這個 method 。換言之,很可能數個使用者在執(zhí)行某個 Stateless Session Bean 的methods 時,會是同一個 Bean 的 Instance 在執(zhí)行。,
14 列舉一下你所知道的設計模式(包括EJB,J2EE的設計模式),以及它們應用的場合?
答: Factory(工廠模式), Factory Method(工廠方法模式),
Prototype(原始模型模式),Singleton(單例模式),
Adapter(適配器模式), Decorator(裝飾模式),
Flyweight(享元模式), Proxy(代理模式),
Command(命令模式), Interpreter(解釋器模式),
Visitor(訪問者模式),Iterator(迭代子模式),
Observer(觀察者模式), State(狀態(tài)模式),
主要用到了MVC的設計模式。用來開發(fā)P/Servlet或者J2EE的相關應用。
15 解析XML主要方法有哪些?各有什么區(qū)別?
答: 有DOM,SAX,STAX等
DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構占用的內存較多,而且DOM必須在解析文件 之前把整個文檔裝入內存,適合對XML的隨機訪問SAX:不現(xiàn)于DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文件,不需要一次全部 裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發(fā)一個事件,用戶通過在其回調事件中寫入處理代 碼來處理XML文件,適合對XML的順序訪問
STAX:Streaming API for XML (StAX)
16 Hashtable的原理,并說出HashMap與Hashtable的區(qū)別 Vector 和ArrayList有什么區(qū)別?
答:
HashTable的原理:通過節(jié)點的關鍵碼確定節(jié)點的存儲位置,即給定節(jié)點的關鍵碼k,通過一定的函數關系H(散列函數),得到函數值H(k),將 此值解釋為該節(jié)點的存儲地址.
就ArrayList與Vector主要從二方面來說.
一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數據增長:當需要增長時,Vector 默認增長為原來一培,而ArrayList卻是原來的一半
就HashMap與HashTable主要從三方面來說。
一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現(xiàn)
二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value
17 JAVA SERVLET API中forward() 與redirect()的區(qū)別?
答: 前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址;后者則是完全的跳轉,瀏覽器將會得到跳轉的地 址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡 量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其它服務器上的資源,則必須使用 sendRedirect()方法。
18 什么是Web容器?
答: 實現(xiàn)J2EE規(guī)范中web協(xié)議的應用.該協(xié)議定義了web程序的運行時環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.
19 EJB是基于哪些技術實現(xiàn)的?并說 出SessionBean和EntityBean的區(qū)別,StatefulBean和StatelessBean的區(qū)別.
答: EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技術實現(xiàn).
SessionBean在J2EE應用程序中被用來完成一些服務器端的業(yè)務操作,例如訪問數據庫、調用其他EJB組件.EntityBean被用來代 表應用系統(tǒng)中用到的數據.對于客戶機,SessionBean是一種非持久性對象,它實現(xiàn)某些在服務器上運行的業(yè)務邏輯;EntityBean 是一種持久性對象,它代表一個存儲在持久性存儲器中的實體的對象視圖,或是一個由現(xiàn)有企業(yè)應用程序實現(xiàn)的實體.
Session Bean 還可以再細分為 Stateful Session Bean 與 Stateless Session Bean .這兩種的 Session Bean都可以將系統(tǒng) 邏輯放在method之中執(zhí)行,不同的是 Stateful Session Bean 可以記錄呼叫者的狀態(tài),因此通常來說,一個使用者會有一個相 對應的 Stateful Session Bean 的實體.Stateless Session Bean 雖然也是邏輯組件,但是他卻不負責記錄使用者狀態(tài),也就 是說當使用者呼叫 Stateless Session Bean 的時候,EJB Container 并不會找尋特定的 Stateless Session Bean 的實體來 執(zhí)行這個 method.換言之,很可能數個使用者在執(zhí)行某個 Stateless Session Bean 的 methods 時,會是同一個 Bean 的 Instance 在執(zhí)行.從內存方面來看,Stateful Session Bean 與 Stateless Session Bean 比較, Stateful Session Bean 會 消耗J2EE Server 較多的內存,然而 Stateful Session Bean 的優(yōu)勢卻在于他可以維持使用者的狀態(tài).
20 什么是Web Service?
答: Web Service就是為了使原來各孤立的站點之間的信息能夠相互通信、共享而提出的一種接口。
Web Service所使用的是Internet上統(tǒng)一、開放的標準,如HTTP、XML、SOAP(簡單對象訪問協(xié)議)、WSDL等,所以Web Service 可以在任何支持這些標準的環(huán)境(Windows,Linux)中使用。
注:SOAP協(xié)議(Simple Object Access Protocal,簡單對象訪問協(xié)議),它是一個用于分散和分布式環(huán)境下網絡信息交換的基于 XML的通訊協(xié)議。在此協(xié)議下,軟件組件或應用程序能夠通過標準的HTTP協(xié)議進行通訊。它的設計目標就是簡單性和擴展性,這 有助于大量異構程序和平臺之間的互操作性,從而使存在的應用程序能夠被廣泛的用戶訪問。
優(yōu)勢:
(1).跨平臺。
(2).SOAP協(xié)議是基于XML和HTTP這些業(yè)界的標準的,得到了所有的重要公司的支持。
(3).由于使用了SOAP,數據是以ASCII文本的方式而非二進制傳輸,調試很方便;并且由于這樣,它的數據容易通過防火墻,不需要防火 墻為了程序而單獨開一個“漏洞”。
(4).此外,WebService實現(xiàn)的技術難度要比CORBA和DCOM小得多。
(5).要實現(xiàn)B2B集成,EDI比較完善與比較復雜;而用WebService則可以低成本的實現(xiàn),小公司也可以用上。
(6).在C/S的程序中,WebService可以實現(xiàn)網頁無整體刷新的與服務器打交道并取數。
缺點:
(1).WebService使用了XML對數據封裝,會造成大量的數據要在網絡中傳輸。
(2).WebService規(guī)范沒有規(guī)定任何與實現(xiàn)相關的細節(jié),包括對象模型、編程語言,這一點,它不如CORBA。
21 多線程有幾種實現(xiàn)方法,都是什么?同步有幾種實現(xiàn)方法,都是什么?
答: 多線程有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口
同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify
22 Java編程,打印昨天的當前時刻(機試)
23 struts的工作流程?
答: 在Struts中,用戶的請求一般以*.do作為請求服務名,所有的*.do請求均被指向ActionSevlet,ActionSevlet根據Struts-config.xml中 的配置信息,將用戶請求封裝成一個指定名稱的FormBean,并將此FormBean傳至指定名稱的ActionBean,由ActionBean完成相應的業(yè)務 操作,如文件操作,數據庫操作等。每一個*.do均有對應的FormBean名稱和ActionBean名稱,這些在Struts-config.xml中配置。
24 MVC的工作原理?
答: 控制:有一個XML文件Struts-config.xml,與之相關聯(lián)的是Controller,在Struts中,承擔MVC中Controller角色的是一個Servlet,叫 ActionServlet。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發(fā)送到Struts的HTTP請求的入口點。它截取和分 發(fā)這些請求到相應的動作類(這些動作類都是Action類的子類)。另外控制組件也負責用相應的請求參數填充 Action From(通常稱之 為FromBean),并傳給動作類(通常稱之為ActionBean)。動作類實現(xiàn)核心商業(yè)邏輯,它可以訪問java bean 或調用EJB。最后動作類把 控制權傳給后續(xù)的P 文件,后者生成視圖。所有這些控制邏輯利用Struts-config.xml文件來配置。
視圖:主要由P生成頁面完成視圖,Struts提供豐富的P 標簽庫: Html,Bean,Logic,Template等,這有利于分開表現(xiàn)邏輯和程序 邏輯。
模型:模型以一個或多個java bean的形式存在。這些bean分為三類:Action Form、Action、JavaBean or EJB。Action Form通常稱之 為FormBean,封裝了來自于Client的用戶請求信息,如表單信息。Action通常稱之為ActionBean,獲取從ActionSevlet傳來的FormBean ,取出FormBean中的相關信息,并做出相關的處理,一般是調用Java Bean或EJB等。
流程:在Struts中,用戶的請求一般以*.do作為請求服務名,所有的*.do請求均被指向ActionSevlet,ActionSevlet根據Struts- config.xml中的配置信息,將用戶請求封裝成一個指定名稱的FormBean,并將此FormBean傳至指定名稱的ActionBean,由ActionBean完 成相應的業(yè)務操作,如文件操作,數據庫操作等。每一個*.do均有對應的FormBean名稱和ActionBean名稱,這些在Struts-config.xml中 配置。 核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。
FormBean的產生是為了提供數據給ActionBean,在ActionBean中可以取得FormBean中封裝的數據,經相應的邏輯處理后,調用業(yè)務方法 完成相應業(yè)務要求。
Servlet的演變:在常規(guī)的 P,Servlet,JavaBean三層結構中,P實現(xiàn)View的功能,Servlet實現(xiàn)Controller的功能,JavaBean實現(xiàn) Model的實現(xiàn)。
在Struts中,將常規(guī)情況下的Servlet拆分與ActionServlet、FormBean、ActionBean三個部分。ActionServlet配合Struts-config.xml ,專職完成頁面導航,而不再負責具
25 寫一段實現(xiàn)楊輝三角的代碼?
答:
26 java里的方法重載和方法覆蓋有什么區(qū)別?
答: 1、方法的覆蓋是子類和父類之間的關系,是垂直關系;方法的重載是同一個類中方法之間的關系,是水平關系。
2、覆蓋只能由一個方法,或只能由一對方法產生關系;方法的重載是多個方法之間的關系。
3、覆蓋要求參數列表相同;重載要求參數列表不同。
4、覆蓋關系中,調用那個方法體,是根據對象的類型(對象對應存儲空間類型)來決定;重載關系,是根據調用時的實參表與形參表來 選擇方法體的。
27 jsp有哪些動作?作用分別是什么?
答: P共有以下6種基本動作
jsp:include:在頁面被請求的時候引入一個文件。
jsp:useBean:尋找或者實例化一個JavaBean。
jsp:setProperty:設置JavaBean的屬性。
jsp:getProperty:輸出某個JavaBean的屬性。
jsp:forward:把請求轉到一個新的頁面。
jsp:plugin:根據瀏覽器類型為Java插件生成OBJECT或EMBED標記
28 一個int型的數組與一個int值,查詢int值在數組中的index值,還要寫兩個測試用例
答:
29 線程的工作機制?wait與sleep的區(qū)別
答: sleep是線程類(Thread)的方法,導致此線程暫停執(zhí)行指定時間,給執(zhí)行機會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復 。調用sleep不會釋放對象鎖。
wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方 法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態(tài)。
30 Servlet與GenericServlet,HttpServlet的區(qū)別?在程序中一般用哪個?并實現(xiàn)什么方法?
答:
31 Hibernate的工作原理?
答: Hibernate是一個JDO工具。它的工作原理是通過文件把值對象和數據庫表之間建立起一個映射關系,這樣,我們只需要通過操作這些 值對象和Hibernate提供的一些基本類,就可以達到使用數據庫的目的。
32 寫出實現(xiàn)單例模式的代碼?
答:
33 J2EE是什么?J2EE中有哪些組件,你的項目中用到了哪些組件?
答: Je22是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級應用模型(enterpriese application model).在這樣的一個應用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應的層次 (tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層
34 簡述你的項目的架構及工作流程?
答:
35 String 和 StringBuffer 的區(qū)別?什么情況下用哪種字符串類?
答: JAVA平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數據。這個String類提供了 數值不可改變的字符串。而這個StringBuffer類提供的字符串進行修改。當你知道字符數據要改變的時候你就可以使用StringBuffer。 典型地,你可以使用StringBuffers來動態(tài)構造字符數據。
36 java 中的序列化操作要實現(xiàn)什么接口?并實現(xiàn)什么方法?
答: 實現(xiàn)Externalizable接口。Externalizable接口定義包括兩個方法writeExternal()與readExternal()。利用這些方法可以控制對象數據 成員如何寫入字節(jié)流.類實現(xiàn)Externalizable時,頭寫入對象流中,然后類完全負責序列化和恢復數據成員。
37 接口中可以定義屬性嗎?如果可以應該定義什么類型的屬性?
答:可以 應該定義public類型的屬性,不寫則默認為 public static類型的
直接用WSDL生成一個客戶端,就可以調用方法了
動態(tài)內容用數據庫國際化的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于動態(tài)內容用數據庫國際化,數據庫國際化:實現(xiàn)動態(tài)內容多語言化,如何調用WebService接口把數據存儲到數據庫里而不使用P頁面的信息別忘了在本站進行查找喔。
創(chuàng)新互聯(lián)網絡推廣網站建設,網站設計,網站建設公司,網站制作,網頁設計,1500元定制網站優(yōu)化全包,先排名后付費,已為上千家服務,聯(lián)系電話:13518219792
分享名稱:數據庫國際化:實現(xiàn)動態(tài)內容多語言化(動態(tài)內容用數據庫國際化)
本文網址:http://m.fisionsoft.com.cn/article/coiojip.html


咨詢
建站咨詢
