Database Code
  Home arrow Database Code arrow Saving multilingual text inside SQL Server...
ASP Free Forums 
.NET  
ASP  
ASP Code  
ASP.NET  
ASP.NET Code  
BrainDump  
C#  
Code Examples  
Database  
Database Code  
IIS  
Microsoft Access  
MS SQL Server  
Silverlight  
Visual Basic.NET  
Windows Scripting  
Windows Security  
XML  
Mobile Linux 
App Generation ROI 
IBM® developerWorks 
ASP Web Hosting  
ASP.NET Web Hosting 
Windows Web Hosting
 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
DATABASE CODE

Saving multilingual text inside SQL Server by M. Vadivel
By: aspfree
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 4 stars4 stars4 stars4 stars4 stars / 13
    2002-09-17

    Table of Contents:

    Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


     

    Saving multilingual text inside SQL Server

    Advantages:

    In most of the sites you would have seen the user downloading a type of font and installing it in their Windows ŕ fonts folder. The users will be able to see the characters of that particular language only after this downloading is done. But if you as the site developer save the Unicode text that represents a language inside a table and display that content in the web page then there is no need of user downloading the font. Isn’t this a great advantage? (For ex: If you are creating a web page in Chinese language then the user would be forced to download some font files which would be approx 6MB.)

    Disadvantage:

    If you like to offer multiple language support to users of your website, it is most important to use the Unicode character strings, nchar, nvarchar, and ntext (where n stands for “National”), for all character data but the sad part is that it would take more storage space than the character strings.

    A small example Web page 1

    Create an html page from where you can copy multilingual text from any site and paste it in a provision given in this page. Please note that I am not concentrating on any client side validations here. So it is your responsibility to add any client side validation according to your needs.

    <Html>
    <Head>
    <Meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <Title>Saving Multilingual character into database</Title>
    </Head> <Body>
    <h3 align="center">Copy multilingual text from any site and paste it inside this textbox before pressing the submit button</h3> <form name="frmInputDB" method="post" action="frmSaveandRetrieve.asp"> <table border=1 align="center"> <tr> <td>Enter your text here :</td> <td><input name="txtMultiLingual"></td></tr> <tr> <td colspan="2" align="center"> <input type=submit name="btnButton" value="Submit"> </td> </tr> </table> <p><p>* Please note that no validation has been done in this page. </form> </Body>
    </Html>

    Did you note the change in the meta tags charset property? Yes you need to specify “utf-8” as your charset so that Unicode characters would be allowed in that page. If you try skipping that line while creating any multilingual web page you would get an error while saving that page. The error would read something like this “Some Unicode characters in the file cannot be represented in the current code page and were replaced by default character…….”.

    Web page 2

    <Html>
    <Head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    </Head>
    <Body>
    <%
    Dim DBConn,strConnection,sql,
    strConnection="---Put your connection string here."
    Set DBConn = Server.CreateObject("Adodb.Connection")
    set Rs=server.CreateObject("ADODB.Recordset")  
    DBConn.Open(strConnection)
    Strdescription = Request.Form("txtMultiLingual")
    sql = "insert into UniTesting(description) values(N'" & Strdescription & "')"
    dbConn.Execute(sql)
    sql = "select id, [description] from UniTesting order by id"
    set Rs=dbConn.execute(sql)%>
    <table border=1>
    <tr>
    <td>Row Id</td>
    <td>Multi-Lingual Text</td>
    </tr>
    <%
    while not rs.EOFResponse.Write ("<tr><td>")Response.Write Rs("id") & "</td><td>" & Rs(1) & "</td><tr>"rs.MoveNextwend%></table></Body>
    </Html>

    If you try to insert data in some language, which isn’t the default language of the OS or SQL Server, then all the characters inserted into the database might be substituted. Since SQL Server 7.0 and 2000 support both Unicode and non-Unicode data types, they require you to use the "N" prefix in front of Unicode string literals (before the open quotes). Just remember: simply place that "N" prefix in front of the string literal you are using. This will allow your data to be inserted without being corrupted, and this would also be a faster process!

    A small DB structure

    CREATE TABLE UniTesting (id int IDENTITY (1, 1) NOT NULL , 
    description nchar (100) NULL)

    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

    More Database Code Articles
    More By aspfree

     

    IBM® developerWorks developerWorks - FREE Tools!


    NEW! "ebook: Exploring IBM SOA Technology & Practice

    Learn field-tested SOA principles, methodology, technology and implementation from the global SOA market leader - in a new e-book by an IBM SOA expert. Written by IBM Certified SOA Solution Designer Bobby Woolf, "Exploring IBM SOA Technology & Practice" is the ultimate insider's guide to SOA - a PDF e-book packed cover to cover with IBM's specific advice on how to make your SOA implementation a success.
    FREE! Go There Now!


    NEW! Accelerating Software Innovation on i on Power Systems

    Attend this launch webcast with Scott Hebner, Vice President of IBM Rational Marketing and Strategy, for an overview of Rational’s new software offerings and resources to help modernize and accelerate software innovation on i on Power Systems – while ensuring past application investments are protected and continue to grow. Learn how these solutions are helping customers extend their core i5/OS solutions toward modern architectures such as SOA and web technologies to deliver business improvements that stand the test of time.
    FREE! Go There Now!


    NEW! Best practices for software analysis: An introduction to the IBM Rational Software Analyzer application

    This whitepaper presents the benefits of successfully introducing static analysis into your organization using IBM Rational Software Analyzer. Additionally, it identifies some common pitfalls that can hinder the effective use of static analysis tooling as well as presents 10 simple strategies designed to help you quickly realize the value of static analysis using Rational Software Analyzer.
    FREE! Go There Now!


    NEW! Evaluate IBM Rational Software Analyzer V7.0

    Download a free trial version of IBM Rational Software Analyzer Developer Edition V7.0 to identify bug defects earlier in the software development cycle. Rational Software Analyzer is an extensible software development solution that reduces the expense of bug-fixes by enabling static analysis code reviews and bug identification very early in the development cycle.
    FREE! Go There Now!


    NEW! Info 2.0: Harnessing the power of Web 2.0 and Enterprise Mashups

    Listen to this webcast to get an overview of Info 2.0 and a technical demo of how to quickly build an enterprise mashup. IBM's Info 2.0 technology leverages emerging Web 2.0 technologies such as mashups, feeds, AJAX, and JSON in order to simplify assembly of information using feeds and services. Come learn about the technical elements of Info 2.0 including the Feed Generation framework, Mashup Engine, and mashup assembly components. Learn how to pull information from databases, departmental information, and the Web to create mashups critical to your company’s success. We will also discuss best practices to help you get started.
    FREE! Go There Now!


    NEW! Trial download: IBM Rational Manual Tester V7.0.1

    Try the latest version of IBM Rational Manual Tester V7.0.1 by downloading a free trial from IBM developerWorks. This manual test authoring and execution tool promotes test step reuse to reduce the impact of software change on testers and business analysts and addresses the needs of teams performing at least a portion of their testing manually.
    FREE! Go There Now!


    NEW! Try the IBM SOA Sandbox for Process

    Visit IBM developerWorks to try the IBM SOA Sandbox for process. The SOA Sandbox for process focuses on providing a trial environment with the necessary tooling and components required to gain a better understanding of business processes and how to best improve existing business processes to derive value quickly.
    FREE! Go There Now!


    NEW! Webcast: Calling All Testers! Find Application Vulnerabilities Early in the Development Process Where they are Easier to Fix and Less Risky to your Business

    In this webcast, IBM Rational will discuss the importance of Web application security and will share techniques and best practices to introduce application security testing into current QA processes including: understanding common security vulnerabilities and techniques to integrate security testing with defect tracking and remediation systems in an effort to safeguard sensitive online information.
    FREE! Go There Now!


    NEW! Webcast: Eclipse: Empowering the universal platform

    The Eclipse community is constantly working to extend Eclipse's functionality. In this webcast, learn about some of the most important and feature-rich projects under development. From multi-language support to plug-in development, tune in to see what Eclipse is capable of now.
    FREE! Go There Now!


    NEW! Webcast: IBM Rational Build Forge - Beyond the Build

    The discipline of assembling and delivering software is maturing beyond standard developer-centric compile/test software builds. The end-to-end software development lifecycle is emerging as the new focus moves “Beyond the Build.” Join this on demand webcast to learn about methods for streamlining software delivery and key capabilities of the IBM Rational Build Forge framework for automating build and release management in environments of any size.
    FREE! Go There Now!



    All FREE IBM® developerWorks Tools!

    DATABASE CODE ARTICLES

    - Deployment of the MobiLink Synchronization M...
    - MobiLink Synchronization Wizard in SQL Anywh...
    - Finding Matching Records in Data Access Pages
    - Using the AccessDataSource Control in VS 2005
    - A Closer Look at ADO.NET: The Command Object
    - A Closer Look at ADO.NET: The Connection Obj...
    - Using ADO to Communicate with the Database, ...
    - Code Snippets: Counting Records
    - Constraints In Microsoft SQL Server 2000
    - Multilingual entries into a DB and to be dis...
    - Getting A List of Tables From SQL Server
    - SQL Server Database Creator - .NET Version
    - ADO Recordset Paging
    - Two combos, one textbox example
    - Discussion & Listserv Module by Mike Eck...





    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 3 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek