2010-10-07 12 views
5

Come inserire il simbolo delle rupie indiane nel database (Oracle 10g, MySql 5.0 e Sql Server 2008)?Come inserire il simbolo delle rupie indiane nel database (Oracle 10g, MySql 5.0 e Sql Server 2008)?

In realtà avevo una tabella "Valuta", in cui 2 campi sono come "currencyName" e "currencysymbol", quindi come dovrei inserire il simbolo di nuove rupie in databse.

+0

Credo che bisogna aspettare fino a che non ha fatto in unicode e Oracle o qualsiasi altro fornitore di attuare tale versione Unicode nei prodotti db . –

+0

Non è necessario che il database riconosca il carattere Unicode specifico per memorizzarlo. Avresti bisogno del supporto del database se vuoi che il personaggio sia in ordine/corrispondenza (collazione) con un altro personaggio in base a qualche regola particolare, ma difficilmente sembra necessario per un simbolo di valuta. – bobince

+0

@Preet Sangha: ripristina la modifica. L'OP sta chiedendo in particolare il nuovo simbolo della rupia, che è stato recentemente assegnato al punto di codice U + 20B9. U + 20A8 è il vecchio simbolo della rupia, con decomposizione 'Rs'. – bobince

risposta

1

Non mai fatto questo, ma può usare l'uso NCHAR (integer_expression)

insert into Currency (currencyName, currencysymbol) 
values ('Indian Rupee', NCHAR(8425)) -- 8425 is 20B9 in decimal 
+0

Non funziona con Oracle, puoi fornire query per Oracle. – eatSleepCode

+0

Non ho accesso a Oracle. Scusa –

5

Non c'è niente di speciale (U + 20B9 nuovo simbolo rupia), salvo che, essendo così nuovo, non v'è quasi pari a zero il supporto per esso font. Se hai una connessione al database che supporta Unicode, è possibile memorizzare facilmente come qualsiasi altro carattere:

INSERT INTO Currency (name, symbol) VALUES ('INR', '₹'); 

(. Si consiglia di usare NVARCHAR per lo stoccaggio e N'₹' in SQL Server)

Se non si dispone di una connessione sicura con Unicode (ad esempio si sta utilizzando uno strumento di crittografia come la console di Windows), si dovrebbe ovviare a tale problema utilizzando ad esempio.

VALUES ('INR', CHAR(226, 130, 185)) 

per una colonna UTF-8-raccolti in MySQL, o NCHAR(8377) per una colonna Unicode in SQL Server.

+0

Sto provando lo stesso ma non riesco a inserire nell'oracolo 11g. – eatSleepCode

+0

@eatSleepCode: è necessario assicurarsi che le tabelle siano memorizzate con 'CHARACTER SET UTF8' e la connessione a Oracle stessa utilizza' UTF8'. (Oppure 'AL32UTF8' in entrambi i casi se si desidera supportare anche i caratteri all'esterno del piano multilingue di base.) – bobince

1

Ogni carattere ha un Unicode che lo rende unico da altri, Indian Rupees Symbol ha il suo. così come ogni altro caratteri è possibile inserire in yourdatabase, ma il punto più importante è che il vostro currencysymbol campo nella tabella dovrebbe essere NVARCHAR

Quando si inserisce questo simbolo è necessario utilizzare il codice Unicode come

INSERT INTO Currency ([currencysymbol]) VALUES (N'⃰'); -- dont forget to use **N** before the symbol 

basta assicurarsi che 20B9 è il codice per il tuo personaggio

1
insert into currency values('india','rupee',N'रु'') 
+0

Non è opportuno collegare al proprio blog in questo modo. Sto rimuovendo il collegamento per impedire che il post venga eliminato come spam. La risposta è molto breve - per favore pubblica l'intera risposta su questo sito. –

1

@Sanju sua così semplice da inserire testo normale, prima di tutto è necessario scaricare un font da http://cdn.webrupee.com/WebRupee.V2.0.ttf. Tenere questo file font in una cartella denominata "WebRupee" ok! di copiare questo codice o scrivere il proprio codice come ho fatto, vedi

<form method="post" action=""> 
<table><style> 
@font-face{font-family: 'WebRupee'; 
src: url('WebRupee/WebRupee.V2.0.ttf') format('truetype');font-weight: normal;font-style: normal;} 
.WebRupee{ 
color:#FF0000; 
font-family: 'WebRupee';} 
</style> 
    <tr> 

     <td><input type="text" name="rs" value="Rs."class="WebRupee" /></span> 
       </td> 
        </tr> 
        <tr> 

     <td><input type="submit" name="submit" value="submit" /> 
       </td> 
        </tr> 
         </table> 
</form> 

<?php 
if($_POST['submit']){ 

    $sql="insert into rs(inr)VALUES('$_POST[rs]')"; 
    if(!mysql_query($sql,$con)) 
    { 
     die('Error:'.mysql_error()); 
    } 
     else{ 
     echo "<script>alert('One Record Added !!!...')</script>"; 

     mysql_close($con); 
     }} 

     ?> 

Spero che ti possa aiutare.

1

Abbiamo usato Colum nvarchar per currencySymbol e inserire NCHAR (8377):

insert into Currency (currencyName, currencysymbol) 
values ('Indian Rupee', NCHAR(8377)); 
Problemi correlati