2010-10-07 6 views
5

Cómo insertar el símbolo de rupias indias en la base de datos (Oracle 10g, MySql 5.0 y Sql Server 2008)?Cómo insertar el símbolo de rupias indias en la base de datos (Oracle 10g, MySql 5.0 y Sql Server 2008)?

En realidad, tenía una Tabla "Moneda", en la cual 2 campos son como "currencyName" y "currencysymbol", así que ¿cómo insertaría el nuevo símbolo de rupias en databse?

+0

yo creo que hay que esperar hasta que se hizo en el Unicode y Oracle o cualquier otro proveedor de poner en práctica esa versión Unicode de los productos db . –

+0

No es necesario que la base de datos reconozca el carácter Unicode específico para almacenarlo. Necesitarías soporte de base de datos si quisieras que el personaje ordenara/combinara (cotejo) con otro personaje de acuerdo con alguna regla particular, pero eso apenas parece ser necesario para un símbolo de moneda. – bobince

+0

@Preet Sangha: ha retrocedido su edición. El OP pregunta específicamente sobre el nuevo símbolo de Rupia, al que recientemente se le asignó el punto de código U + 20B9. U + 20A8 es el símbolo de la antigua Rupia, con la descomposición 'Rs'. – bobince

Respuesta

1

No hecho esto, pero se puede utilizar el uso NCHAR (integer_expression)

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

Esto no funciona con Oracle, ¿puede dar una consulta de oráculo? – eatSleepCode

+0

No tengo acceso a Oracle. lo siento –

5

No hay nada especial sobre (U + 20B9 nuevo símbolo Rupia), excepto que, al ser tan nuevo, no hay casi cero ayuda de la fuente para ello. Si usted tiene una conexión de base de datos que soporta Unicode, se puede almacenar la misma facilidad que cualquier otro carácter:

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

(. Usted desea utilizar para el almacenamiento y NVARCHAR N'₹' en SQL Server)

Si no tiene una conexión segura para Unicode (por ejemplo, está usando alguna herramienta de mierda como la consola de Windows) tendría que trabajar en eso utilizando, por ejemplo.

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

para una columna cotejada-UTF-8 en MySQL, o NCHAR(8377) para una columna Unicode en SQL Server.

+0

Estoy intentando lo mismo pero no puedo insertar en el oráculo 11g. – eatSleepCode

+0

@eatSleepCode: Deberá asegurarse de que sus tablas estén almacenadas con 'CHARACTER SET UTF8' y que la conexión con Oracle use' UTF8'. (O 'AL32UTF8' en ambos casos si también desea admitir caracteres fuera del Plano Bilingüe Básico). – bobince

1

Cada personaje tiene un Unicode que lo único de los demás, Indian Rupees Symbol lo tiene. así como todos los otros caracteres que se pueden insertar en yourdatabase, pero el punto más importante es que su campo currencysymbol en la tabla debe ser NVARCHAR

Cuando se va a insertar este símbolo tiene que usar su código Unicode, como

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

sólo asegúrese de que 20B9 es el código de su carácter

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

No es apropiado vincular su blog de esta manera. Estoy eliminando el enlace para evitar que la publicación se elimine como spam. La respuesta es muy breve: publique la respuesta completa en este sitio web. –

1

@Sanju su tan simple como para insertar texto normal, antes que nada debes descargar una fuente desde http://cdn.webrupee.com/WebRupee.V2.0.ttf. Que guardes este archivo de fuente en una carpeta llamada 'WebRupee' ok! que copie este código o escriba su propio código como lo hice, vea

<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); 
     }} 

     ?> 

Espero que le ayude.

1

Hemos utilizado Colum nvarchar para CURRENCYSYMBOL e insertar NCHAR (8377):

insert into Currency (currencyName, currencysymbol) 
values ('Indian Rupee', NCHAR(8377)); 
Cuestiones relacionadas