´òÓ¡

cÁ¬MySQL ,insertºóÊý¾ÝÂÒÂëÁË

cÁ¬MySQL ,insertºóÊý¾ÝÂÒÂëÁË

:~> mysql -u zhongyi -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22 to server version: 5.1.12-beta

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use ZhongYi
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> describe zy;
¸´ÖÆÄÚÈݵ½¼ôÌù°å
´úÂë:
+--------+--------------------------+------+-----+---------+----------------+
| Field    | Type                         | Null  | Key  | Default | Extra            |
+--------+--------------------------+------+-----+---------+----------------+
| xuhao  | int(5) unsigned zerofill  | NO   | PRI | NULL    | auto_increment |
| fenqu   | char(30)                   | YES   |       | NULL    |                     |
| bianma | int(6) unsigned zerofill | YES   |       | NULL    |                     |
| liexin    | char(30)                   | YES   |       | NULL    |                     |
| weizhi   | char(30)                   | YES   |       | NULL    |                    |
+--------+--------------------------+------+-----+---------+----------------+
5 rows in set (0.15 sec)


cat ÖÐÒ˱à³Ì×ÊÁÏ.doc
¸´ÖÆÄÚÈݵ½¼ôÌù°å
´úÂë:
001     µÚÒ»·ÖÇø        01001   ¹âµç¸ÐÑÌ        ¶þ²ã¶«ºóÇø
002     µÚÒ»·ÖÇø        01002   ¹âµç¸ÐÑÌ        ¶þ²ã¶«ºóÇø

.................................
¸´ÖÆÄÚÈݵ½¼ôÌù°å
´úÂë:
file ÖÐÒ˱à³Ì×ÊÁÏ.doc
ÖÐÒ˱à³Ì×ÊÁÏ.doc: ISO-8859 text
main.c
¸´ÖÆÄÚÈݵ½¼ôÌù°å
´úÂë:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
//#include <sys/iconv.h>
//#include "/usr/src/sys/sys/iconv.h"
#include "/usr/src/bin/csh/iconv.h"
#include "/usr/local/include/mysql/mysql.h"

int
main(int argc,char **argv)
{
    MYSQL           mysql;
    FILE            *fp;

    if( 2 != argc ){
        fprintf(stderr,"Usage:./prog inputfile\n");
        exit(-1);
    }

    if( NULL == (fp=fopen(argv[1],"r")) ){
        fprintf(stderr,"%s\n",strerror(errno));
        exit(-1);
    }
    fprintf(stdout,"file %s opend...\n",argv[1]);

    mysql_init(&mysql);
    if(NULL==mysql_real_connect(&mysql,"localhost","zhongyi","localhost","ZhongYi",0,NULL,0)){
        fprintf(stderr,"Failed to connect to database: Error: %s\n",mysql_error(&mysql));
        exit(-1);
    }
    fprintf(stdout,"DataBase Connected...\n");

    /*  --------------------------------- */
    /*  021     µÚÒ»·ÖÇø    010021  ¹âµç¸ÐÑÌ    Ò»²ã¶«ºóÇø */
    for(char buf[4096]; NULL != fgets(buf,4096,fp); ){
        /*
         * | fenqu  | char(30)
         * | bianma | int(6) unsigned zerofill
         * | liexin | char(30)
         * | weizhi | char(30)
         */
        char query[1024]="INSERT INTO zy(fenqu,bianma,liexin,weizhi) VALUES('";
        char *iter_b,*iter_e;

        for(iter_b=buf; 0 < *iter_b; ++iter_b);
        for(iter_e=iter_b; 0 > *iter_e; iter_e+=2);
        strncat(query,iter_b,iter_e-iter_b);
        strcat(query,"',");
        for(iter_b=iter_e; ' '==*iter_b; ++iter_b);
        for(iter_e=iter_b; ' '!=*iter_e; ++iter_e);
        strncat(query,iter_b,iter_e-iter_b);
        strcat(query,",'");
        for(iter_b=iter_e; 0 < *iter_b; ++iter_b);
        for(iter_e=iter_b; 0 > *iter_e; iter_e+=2);
        strncat(query,iter_b,iter_e-iter_b);
        strcat(query,"','");
        for(iter_b=iter_e; 0 < *iter_b; ++iter_b);
        for(iter_e=iter_b; 0 > *iter_e; iter_e+=2);
        strncat(query,iter_b,iter_e-iter_b);
        strcat(query,"')");

        /*  iconv */
        iconv_t   cd;
        char outbuf[1024];
        size_t in=strlen(query),out=1024;

        if( (iconv_t)-1 == (cd = iconv_open("UTF-8","GBK")) ){
            fprintf(stderr,"Iconv_open Error: %s\n",strerror(errno));
            exit(-1);
        }
        if( (size_t)-1 == iconv(cd,(char **)&query,(size_t *)&in,(char **)&outbuf,(size_t *)&out) ){
            fprintf(stderr,"Iconv Eoor: %s\n",strerror(errno));
            exit(-1);
        }

        if( mysql_real_query(&mysql,outbuf,out) ){
            fprintf(stderr,"Error making query: %s\n",mysql_error(&mysql));
        }

        if( -1 == iconv_close(cd) ){
            fprintf(stderr,"Iconv_close Error: %s\n",strerror(errno));
            exit(-1);
        }
    }

    fclose(fp);
    mysql_close(&mysql);

    exit(0);
}
ÉÏÃæ´úÂëÖÐiconv²¿·ÖÎÒ²»ÖªµÀÔõôд,Èç¹ûÈ¥µôÄDz¿·Ö,³ÌÐò¿ÉÒÔÔËÐÐ,µ«²åÔÚzyÊý¾Ý¿âÖеĺº×Ö²¿·ÖÈ«ÊÇÂÒÂëcry:cry
ÎÞÇ©Ãû

TOP

²é¿´ÏÂOSÖеıàÂëÊDz»ÊÇÓë´úÂëÖеÄÒ»ÖÂ

ISO-8859²»Ò»¶¨ÄÜÕý³£ÏÔʾºº×Ö£¬Ëü²»ÊÇGBKµÄ³¬¼¯

TOP

лл¥ÉϵĴó¸ç,ÎÒ¶Ô±àÂëÕâ·½ÃæµÄ֪ʶ²»Á˽â,´Ó×òÍí³ÌÐò³öÏÖÂÒÂ뿪ʼµ½ÏÖÔÚ,ÎÒgoogleÁ˲»ÉÙ±àÂëµÄÎÄÕ¿´,»¹ÊDz»Á˽â,ÄܽéÉܼ¸ÆªÎÄÕÂÂð,лл¹þ
ÎÞÇ©Ãû

TOP

¸øÄãһƪORACLE·½ÃæµÄÎÄÕ¿´¿´,¿ÉÄÜ»áÓеã°ïÖú


¾­³£¿´µ½Ò»Ð©ÅóÓÑÎÊORACLE×Ö·û¼¯·½ÃæµÄÎÊÌ⣬ÎÒÏëÒÔµü´úµÄ·½Ê½À´½éÉÜһϡ£

µÚÒ»´Îµü´ú£ºÕÆÎÕ×Ö·û¼¯·½ÃæµÄ»ù±¾¸ÅÄî¡£
ÓÐЩÅóÓÑ¿ÉÄÜ»áÈÏΪÕâÊǶà´ËÒ»¾Ù£¬µ«Êµ¼ÊÉÏÕýÊÇÓÉÓÚ¶ÔÏà¹Ø»ù±¾¸ÅÄî°ÑÎÕ²»Ç壬²Åµ¼ÖÂÁËÖî¶àÎÊÌâºÍÒÉÎÊ¡£
Ê×ÏÈÊÇ×Ö·û¼¯µÄ¸ÅÄî¡£
ÎÒÃÇÖªµÀ£¬µç×Ó¼ÆËã»ú×î³õÊÇÓÃÀ´½øÐпÆÑ§¼ÆËãµÄ£¨ËùÒÔ½Ð×ö¡°¼ÆËã»ú¡±£©£¬µ«Ëæ×ż¼ÊõµÄ·¢Õ¹£¬»¹ÐèÒª¼ÆËã»ú½øÐÐÆäËü·½ÃæµÄÓ¦Óô¦Àí¡£Õâ¾ÍÒªÇó¼ÆËã»ú²»½öÄÜ´¦ÀíÊýÖµ£¬»¹ÄÜ´¦ÀíÖîÈçÎÄ×Ö¡¢ÌØÊâ·ûºÅµÈÆäËüÐÅÏ¢£¬¶ø¼ÆËã»ú±¾ÉíÄÜÖ±½Ó´¦ÀíµÄÖ»ÓÐÊýÖµÐÅÏ¢£¬ËùÒÔ¾ÍÒªÇó¶ÔÕâЩÎÄ×Ö¡¢·ûºÅÐÅÏ¢½øÐÐÊýÖµ±àÂ룬×î³õµÄ×Ö·û¼¯ÊÇÎÒÃǶ¼·Ç³£ÊìϤµÄASCII£¬ËüÊÇÓÃ7¸ö¶þ½øÖÆÎ»À´±íʾ128¸ö×Ö·û£¬¶øºóÀ´Ëæ×Ų»Í¬¹ú¼Ò¡¢×éÖ¯µÄÐèÒª£¬³öÏÖÁËÐíÐí¶à¶àµÄ×Ö·û¼¯£¬Èç±íʾÎ÷Å·×Ö·ûµÄ ISO8859ϵÁеÄ×Ö·û¼¯£¬±íʾºº×ÖµÄGB2312-80¡¢GBKµÈ×Ö·û¼¯¡£
×Ö·û¼¯µÄʵÖʾÍÊǶÔÒ»×éÌØ¶¨µÄ·ûºÅ£¬·Ö±ð¸³Ó費ͬµÄÊýÖµ±àÂ룬ÒÔ±ãÓÚ¼ÆËã»úµÄ´¦Àí¡£
×Ö·û¼¯Ö®¼äµÄת»»¡£×Ö·û¼¯¶àÁË£¬¾Í»á´øÀ´Ò»¸öÎÊÌ⣬±ÈÈçÒ»¸ö×Ö·û£¬ÔÚijһ×Ö·û¼¯Öб»±àÂëΪһ¸öÊýÖµ£¬¶øÔÚÁíÒ»¸ö×Ö·û¼¯Öб»±àÂëΪÁíÒ»¸öÊýÖµ£¬±ÈÈçÎÒÀ´´´ÔìÁ½¸ö×Ö·û¼¯demo_charset1Óëdemo_charset2£¬ÔÚdemo_charset1ÖУ¬Îҹ涨ÁËÈý¸ö·ûºÅµÄ±àÂëΪ£ºA £¨0001£©£¬B£¨0010£©£¬£¿£¨1111£©£»¶øÔÚdemo_charset2ÖУ¬ÎÒÒ²¹æ¶¨ÁËÈý¸ö·ûºÅµÄ±àÂëΪ£ºA£¨1001£©£¬C£¨1011£©£¬£¿£¨1111£©£¬ÕâʱÎÒ½Óµ½Ò»¸öÈÎÎñ£¬Òª±àдһ¸ö³ÌÐò£¬¸ºÔðÔÚdemo_charset1Óëdemo_charset2Ö®¼ä½øÐÐת»»¡£ÓÉÓÚÖªµÀÁ½¸ö×Ö·û¼¯µÄ±àÂë¹æÔò£¬¶ÔÓÚdemo_charset1ÖеÄ0001£¬ÔÚת»»Îªdemo_charset2ʱ£¬Òª½«Æä±àÂë¸ÄΪ1001£»¶ÔÓÚ demo_charset1ÖеÄ1111£¬×ª»»Îªdemo_charset2ʱ£¬ÆäÊýÖµ²»±ä£»¶ø¶ÔÓÚdemo_charset1ÖеÄ0010£¬Æä¶ÔÓ¦µÄ×Ö·ûΪB£¬µ«ÔÚdemo_charset2ûÓжÔÓ¦µÄ×Ö·û£¬ËùÒÔ´ÓÀíÂÛÉÏÎÞ·¨×ª»»£¬¶ÔÓÚËùÓÐÕâÀàÎÞ·¨×ª»»µÄÇé¿ö£¬ÎÒÃÇ¿ÉÒÔ½«ËüÃÇͳһת»»ÎªÄ¿±ê×Ö·û¼¯ÖеÄÒ»¸öÌØÊâ×Ö·û£¨³ÆÎª¡°Ìæ»»×Ö·û¡±£©£¬±ÈÈçÔÚÕâÀïÎÒÃÇ¿ÉÒÔ½«£¿×÷ÎªÌæ»»×Ö·û£¬ËùÒÔB¾Íת»»ÎªÁË£¿£¬³öÏÖÁËÐÅÏ¢µÄ¶ªÊ§£»Í¬ÑùµÀÀí£¬½«demo_charset2 µÄC×Ö·ûת»»µ½demo_charset1ʱ£¬Ò²»á³öÏÖÐÅÏ¢¶ªÊ§¡£
ËùÒÔ˵£¬ÔÚ×Ö·û¼¯×ª»»¹ý³ÌÖУ¬Èç¹ûÔ´×Ö·û¼¯ÖеÄij¸ö×Ö·ûÔÚÄ¿±ê×Ö·û¼¯ÖÐûÓж¨Ò壬½«»á³öÏÖÐÅÏ¢¶ªÊ§¡£
Êý¾Ý¿â×Ö·û¼¯µÄÑ¡Ôñ¡£
ÎÒÃÇÔÚ´´½¨Êý¾Ý¿âʱ£¬ÐèÒª¿¼ÂǵÄÒ»¸öÎÊÌâ¾ÍÊÇÑ¡Ôñʲô×Ö·û¼¯Óë¹ú¼Ò×Ö·û¼¯£¨Í¨¹ýcreate databaseÖеÄCHARACTER SETÓëNATIONAL CHARACTER SET×Ó¾äÖ¸¶¨£©¡£¿¼ÂÇÕâ¸öÎÊÌ⣬ÎÒÃDZØÐëÒªÇå³þÊý¾Ý¿âÖж¼ÐèÒª´æ´¢Ê²Ã´Êý¾Ý£¬Èç¹ûÖ»ÐèÒª´æ´¢Ó¢ÎÄÐÅÏ¢£¬ÄÇôѡÔñUS7ASCII×÷Ϊ×Ö·û¼¯¾Í¿ÉÒÔ£»µ«ÊÇÈç¹ûÒª´æ´¢ÖÐÎÄ£¬ÄÇôÎÒÃǾÍÐèҪѡÔñÄܹ»Ö§³ÖÖÐÎĵÄ×Ö·û¼¯£¨ÈçZHS16GBK£©£»Èç¹ûÐèÒª´æ´¢¶à¹úÓïÑÔÎÄ×Ö£¬ÄǾÍҪѡÔñUTF8ÁË¡£
Êý¾Ý¿â×Ö·û¼¯µÄÈ·¶¨£¬Êµ¼ÊÉÏ˵Ã÷Õâ¸öÊý¾Ý¿âËùÄÜ´¦ÀíµÄ×Ö·ûµÄ¼¯ºÏ¼°Æä±àÂ뷽ʽ£¬ÓÉÓÚ×Ö·û¼¯Ñ¡¶¨ºóÔÙ½øÐиü¸Ä»áÓÐÖî¶àµÄÏÞÖÆ£¬ËùÒÔÔÚÊý¾Ý¿â´´½¨Ê±Ò»¶¨Òª¿¼ÂÇÇå³þºóÔÙÑ¡Ôñ¡£
¶øÎÒÃÇÐí¶àÅóÓÑÔÚ´´½¨Êý¾Ý¿âʱ£¬²»¿¼ÂÇÇå³þ£¬ÍùÍùÑ¡ÔñÒ»¸öĬÈϵÄ×Ö·û¼¯£¬ÈçWE8ISO8859P1»òUS7ASCII£¬¶øÕâÁ½¸ö×Ö·û¼¯¶¼Ã»Óкº×Ö±àÂ룬ËùÒÔÓÃÕâÖÖ×Ö·û¼¯´æ´¢ºº×ÖÐÅÏ¢´ÓÔ­ÔòÉÏ˵¾ÍÊÇ´íÎóµÄ¡£ËäÈ»ÔÚÓÐЩʱºòÑ¡ÓÃÕâÖÖ×Ö·û¼¯ºÃÏóÒ²ÄÜÕý³£Ê¹Ó㬵«Ëü»á¸øÊý¾Ý¿âµÄʹÓÃÓëά»¤´øÀ´Ò»ÏµÁеÄÂé·³£¬ÔÚºóÃæµÄµü´ú¹ý³ÌÖÐÎÒÃǽ«ÉîÈë·ÖÎö¡£
¿Í»§¶ËµÄ×Ö·û¼¯¡£
ÓйýһЩOracleʹÓþ­ÑéµÄÅóÓÑ£¬´ó¶à»áÖªµÀͨ¹ýNLS_LANGÀ´ÉèÖÿͻ§¶ËµÄÇé¿ö£¬NLS_LANGÓÉÒÔϲ¿·Ö×é³É£ºNLS_LANG=< Language>_<Territory>.<Clients Characterset>£¬ÆäÖеÚÈý²¿·Ö<Clients Characterset>µÄ±¾Òâ¾ÍÊÇÓÃÀ´Ö¸Ã÷¿Í»§¶Ë²Ù×÷ϵͳȱʡʹÓõÄ×Ö·û¼¯¡£ËùÒÔ°´Õý¹æµÄÓ÷¨£¬NLS_LANGÓ¦¸Ã°´ÕÕ¿Í»§¶Ë»úÆ÷µÄʵ¼ÊÇé¿ö½øÐÐÅäÖã¬ÓÈÆä¶ÔÓÚ×Ö·û¼¯Ò»Ïî¸üÊÇÈç´Ë£¬ÕâÑùOracle¾ÍÄܹ»ÔÚ×î´ó³Ì¶ÈÉÏʵÏÖÊý¾Ý¿â×Ö·û¼¯Óë¿Í»§¶Ë×Ö·û¼¯µÄ×Ô¶¯×ª»»£¨µ±È»ÊÇÈç¹ûÐèҪת»»µÄ»°£©¡£
×ܽáһϵÚÒ»´Îµü´úµÄÖØµã£º
×Ö·û¼¯£º½«Ìض¨µÄ·ûºÅ¼¯±àÂëΪ¼ÆËã»úÄܹ»´¦ÀíµÄÊýÖµ£»
×Ö·û¼¯¼äµÄת»»£º¶ÔÓÚÔÚÔ´×Ö·û¼¯ÓëÄ¿±ê×Ö·û¼¯¶¼´æÔڵķûºÅ£¬ÀíÂÛÉÏת»»½«²»»á²úÉúÐÅÏ¢¶ªÊ§£»¶ø¶ÔÓÚÔÚÔ´×Ö·û¼¯ÖдæÔÚ¶øÔÚÄ¿±ê×Ö·û¼¯Öв»´æÔڵķûºÅ£¬ÀíÂÛÉÏת»»½«»á²úÉúÐÅÏ¢¶ªÊ§£»
Êý¾Ý¿â×Ö·û¼¯£ºÑ¡ÔñÄܹ»°üº¬ËùÓн«Òª´æ´¢µÄÐÅÏ¢·ûºÅµÄ×Ö·û¼¯£»
¿Í»§¶Ë×Ö·û¼¯ÉèÖãºÖ¸Ã÷¿Í»§¶Ë²Ù×÷ϵͳȱʡʹÓõÄ×Ö·û¼¯¡£

ʵÑé½á¹û·ÖÎöÒ»

    quote:×î³õÓÉ tellin ·¢²¼
    ÉèÖÿͻ§¶Ë×Ö·û¼¯ÎªUS7ASCII
    D:\>SET NLS_LANG=AMERICAN_AMERICA.US7ASCII
    ²é¿´·þÎñÆ÷×Ö·û¼¯ÎªUS7ASCII
    SQL> SELECT * FROM NLS_DATABASE_PARAMETERS;
    PARAMETER VALUE
    ------------------------------ ----------------------------------------
    NLS_CHARACTERSET US7ASCII

    ½¨Á¢²âÊÔ±í
    SQL> CREATE TABLE TEST (R1 VARCHAR2(10));

    Table created.

    ²åÈëÊý¾Ý
    SQL> INSERT INTO TEST VALUES('¶«±±');

    1 row created.

    SQL> SELECT * FROM TEST;

    R1
    ----------
    ¶«±±

    SQL> EXIT



ÕâÒ»²¿·ÖµÄʵÑéÊý¾ÝµÄ´æÈ¡ÓëÏÔʾ¶¼ÕýÈ·£¬ºÃÏóûʲôÎÊÌ⣬µ«Êµ¼ÊÉÏÈ´Òþ²Ø×źܴóµÄÒþ»¼¡£
Ê×ÏÈ£¬Òª½«ºº×Ö´æÈëÊý¾Ý¿â£¬¶ø½«Êý¾Ý¿â×Ö·û¼¯ÉèÖÃΪUS7ASCIIÊDz»ºÏÊʵġ£US7ASCII×Ö·û¼¯Ö»¶¨ÒåÁË128¸ö·ûºÅ£¬²¢²»Ö§³Öºº×Ö¡£ÁíÍ⣬ÓÉÓÚÔÚSQL*PLUSÖÐÄܹ»ÊäÈëÖÐÎÄ£¬²Ù×÷ϵͳȱʡӦ¸ÃÊÇÖ§³ÖÖÐÎĵ쬵«ÔÚNLS_LANGÖеÄ×Ö·û¼¯ÉèÖÃΪUS7ASCII£¬ÏÔȻҲÊDz»ÕýÈ·µÄ£¬ËüûÓз´Ó³¿Í»§¶ËµÄʵ¼ÊÇé¿ö¡£
µ«Êµ¼ÊÏÔʾȴÊÇÕýÈ·µÄ£¬ÕâÖ÷ÒªÊÇÒòΪOracle¼ì²éÊý¾Ý¿âÓë¿Í»§¶ËµÄ×Ö·û¼¯ÉèÖÃÊÇͬÑùµÄ£¬ÄÇôÊý¾ÝÔÚ¿Í»§ÓëÊý¾Ý¿âÖ®¼äµÄ´æÈ¡¹ý³ÌÖн«²»·¢ÉúÈκÎת»»¡£¾ßÌåµØËµ£¬ÔÚ¿Í»§¶ËÊäÈë¡°¶«±±¡±£¬¡°¶«¡±µÄºº×ֵıàÂëΪ182£¨10110110£©¡¢171£¨10101011£©£¬¡°±±¡±ºº×ֵıàÂëΪ177 £¨10110001£©¡¢177£¨10110001£©£¬ËüÃǽ«²»×öÈκα仯µÄ´æÈëÊý¾Ý¿âÖУ¬µ«ÊÇÕâʵ¼ÊÉϵ¼ÖÂÁËÊý¾Ý¿â±êʶµÄ×Ö·û¼¯Óëʵ¼Ê´æÈëµÄÄÚÈÝÊDz»Ïà·ûµÄ£¬´ÓijÖÖÒâÒåÉϽ²£¬ÕâÒ²ÊÇÒ»ÖÖ²»Ò»ÖÂÐÔ£¬Ò²ÊÇÒ»ÖÖ´íÎó¡£¶øÔÚSELECTµÄ¹ý³ÌÖУ¬OracleͬÑù¼ì²é·¢ÏÖÊý¾Ý¿âÓë¿Í»§¶ËµÄ×Ö·û¼¯ÉèÖÃÊÇÏàͬµÄ£¬ËùÒÔËüÒ²½«´æÈëµÄÄÚÈÝÔ­·â²»¶¯µØ´«Ë͵½¿Í»§¶Ë£¬¶ø¿Í»§¶Ë²Ù×÷ϵͳʶ±ð³öÕâÊǺº×Ö±àÂëËùÒÔÄܹ»ÕýÈ·ÏÔʾ¡£
ÔÚÕâ¸öÀý×ÓÖУ¬Êý¾Ý¿âÓë¿Í»§¶ËµÄÉèÖö¼ÓÐÎÊÌ⣬µ«È´ºÃÏóÆðµ½ÁË¡°¸º¸ºµÃÕý¡±µÄЧ¹û£¬´ÓÓ¦ÓõĽǶȿ´µ¹ºÃÏóûÎÊÌâ¡£µ«ÕâÀïÃæÈ´´æÔÚ׿«´óµÄÒþ»¼£¬±ÈÈçÔÚÓ¦Óà length»òsubstrµÈ×Ö·û´®º¯Êýʱ£¬¾Í¿ÉÄܵõ½ÒâÍâµÄ½á¹û¡£ÁíÍ⣬Èç¹ûÓöµ½µ¼Èë/µ¼³ö£¨import /export£©½«»áÓöµ½¸ü´óµÄÂé·³¡£ÓÐЩÅóÓÑÔÚÕâ·½Ãæ×öÁË´óÁ¿µÄ²âÊÔ£¬ÈçeygleÑо¿ÁË¡°Ô´Êý¾Ý¿â×Ö·û¼¯ÎªUS7ASCII£¬µ¼³öÎļþ×Ö·û¼¯Îª US7ASCII»òZHS16GBK£¬Ä¿±êÊý¾Ý¿â×Ö·û¼¯ÎªZHS16GBK¡±µÄÇé¿ö£¬ËûµÃ³öµÄ½áÂÛÊÇ ¡°Èç¹ûµÄÊÇÔÚOracle92ÖУ¬ÎÒÃÇ·¢ÏÖ¶ÔÓÚÕâÖÖÇé¿ö£¬²»ÂÛÔõÑù´¦Àí£¬Õâ¸öµ¼³öÎļþ¶¼ÎÞ·¨ÕýÈ·µ¼Èëµ½Oracle9iÊý¾Ý¿âÖС±¡¢¡°¶ÔÓÚÕâÖÖÇé¿ö£¬ÎÒÃÇ¿ÉÒÔͨ¹ýʹÓÃOracle8iµÄµ¼³ö¹¤¾ß£¬ÉèÖõ¼³ö×Ö·û¼¯ÎªUS7ASCII£¬µ¼³öºóÐ޸ĵڶþ¡¢Èý×Ö·û£¬ÐÞ¸Ä 0001 Ϊ0354,ÕâÑù¾Í¿ÉÒÔ½«US7ASCII×Ö·û¼¯µÄÊý¾ÝÕýÈ·µ¼Èëµ½ZHS16GBKµÄÊý¾Ý¿âÖС±¡£ÎÒÏë¶ÔÓÚÕâЩ½áÂÛ£¬ÕâÑùÀí½â¿ÉÄܸüºÏÊÊһЩ£ºÓÉÓÚZHS16GBK×Ö·û¼¯ÊÇUS7ASCIIµÄ³¬¼¶£¬ËùÒÔÈç¹û°´Õý³£²Ù×÷£¬ÕâÖÖת»»Ó¦¸ÃûÓÐÎÊÌ⣻µ«³öÏÖÎÊÌâµÄ±¾ÖÊÊÇÎÒÃÇÈñ¾Ó¦Ö»´æ´¢Ó¢ÎÄ×Ö·ûµÄ US7ASCIIÊý¾Ý¿â£¬·Ç³£¹æµØ´æ´¢ÁËÖÐÎÄÐÅÏ¢£¬ÄÇôÔÚת»¯¹ý³ÌÖгöÏÖ´íÎó»òÂé·³¾ÍÃ»Ê²Ã´Ææ¹ÖµÄÁË£¬²»³öÂé·³µ¹ÊÇÓÐÐ©Ææ¹ÖÁË¡£
ËùÒÔ˵Ҫ±ÜÃâÕâÖÖÇé¿ö£¬¾ÍÊÇÒªÔÚ½¨Á¢Êý¾Ý¿âʱѡÔñºÏÊʵÄ×Ö·û¼¯£¬²»ÈñêÇ©£¨Êý¾Ý¿âµÄ×Ö·û¼¯ÉèÖã©Óëʵ¼Ê£¨Êý¾Ý¿âÖÐʵ¼Ê´æ´¢µÄÐÅÏ¢£©²»·ûµÄÇé¿ö·¢Éú¡£

ʵÑé½á¹û·ÖÎö¶þ

    quote:[ ¸ü¸Ä¿Í»§¶Ë×Ö·û¼¯ÎªZHS16GBK
    D:\>SET NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

    D:\>SQLPLUS "/ AS SYSDBA"

    ÎÞ·¨Õý³£ÏÔʾÊý¾Ý

    SQL> SELECT * FROM TEST;

    R1
    --------------------
    6+11

    ÒÉÎÊ1£ºZHS16GBKΪUS7ASCIIµÄ³¬¼¯£¬ÎªÊ²Ã´ÔÚZHS16GBK»·¾³ÏÂÎÞ·¨Õý³£ÏÔʾ



ÕâÖ÷ÒªÊÇÒòΪOracle¼ì²é·¢ÏÖÊý¾Ý¿âÉèÖõÄ×Ö·û¼¯Óë¿Í»§¶ËÅäÖÃ×Ö·û¼¯²»Í¬£¬Ëü½«¶ÔÊý¾Ý½øÐÐ×Ö·û¼¯µÄת»»¡£Êý¾Ý¿âÖÐʵ¼Ê´æ·ÅµÄÊý¾ÝΪ182 £¨10110110£©¡¢171£¨10101011£©¡¢177£¨10110001£©¡¢177£¨10110001£©£¬ÓÉÓÚÊý¾Ý¿â×Ö·û¼¯ÉèÖÃΪ US7ASCII£¬ËüÊÇÒ»¸ö7bitµÄ×Ö·û¼¯£¬´æ´¢ÔÚ8bitµÄ×Ö½ÚÖУ¬ÔòOracleºöÂÔ¸÷×Ö½ÚµÄ×î¸ßbit£¬Ôò182£¨10110110£©¾Í±ä³ÉÁË 54£¨0110110£©£¬ÔÚZHS16GBKÖдú±íÊý×Ö·ûºÅ¡°6¡±£¨µ±È»ÔÚÆäËü×Ö·û¼¯ÖÐÒ²ÊÇ¡°6¡±£©£¬Í¬Ñù¹ý³ÌÒ²·¢ÉúÔÚÆäËü3¸ö×Ö½Ú£¬ÕâÑù¡°¶«±±¡±¾Í±ä³ÉÁË¡°6+11¡±¡£

ʵÑé½á¹û·ÖÎöÈý

    quote:×î³õÓÉ tellin ·¢²¼
    ÓÃZHS16GBK²åÈëÊý¾Ý
    SQL> INSERT INTO TEST VALUES('¶«±±');

    1 row created.

    SQL> SELECT * FROM TEST;

    R1
    --------------------
    6+11
    ??

    SQL> EXIT


µ±¿Í»§¶Ë×Ö·û¼¯ÉèÖÃΪZHS16GBKºóÏòÊý¾Ý¿â²åÈë¡°¶«±±¡±£¬Oracle¼ì²é·¢ÏÖÊý¾Ý¿âÉèÖõÄ×Ö·û¼¯ÎªUS7ASCIIÓë¿Í»§¶Ë²»Ò»Ö£¬ÐèÒª½øÐÐת»»£¬µ«×Ö·û¼¯ZHS16GBKÖеġ°¶«±±¡±Á½×ÖÔÚUS7ASCIIÖÐûÓжÔÓ¦µÄ×Ö·û£¬ËùÒÔOracleÓÃͳһµÄ¡°Ìæ»»×Ö·û¡±²åÈëÊý¾Ý¿â£¬ÔÚÕâÀïΪ¡°£¿¡±£¬±àÂëΪ63£¨00111111£©£¬Õâʱ£¬ÊäÈëµÄÐÅϢʵ¼ÊÉÏÒѾ­¶ªÊ§£¬²»¹Ü×Ö·û¼¯ÉèÖÃÈçºÎ¸Ä±ä£¨ÈçÏÂÃæÒýÓõÄʵÑé½á¹û£©£¬µÚ¶þÐÐSELECT³öÀ´µÄ½á¹ûÒ²¶¼ÊÇÁ½¸ö¡°£¿¡±ºÅ£¨×¢ÒâÊÇ2¸ö£¬¶ø²»ÊÇ4¸ö£©¡£

    quote:
    ¸ü¸Ä¿Í»§¶Ë×Ö·û¼¯ÎªUS7ASCII
    D:\>SET NLS_LANG=AMERICAN_AMERICA.US7ASCII

    D:\>SQLPLUS "/ AS SYSDBA"

    ÎÞ·¨ÏÔʾÓÃZHS16GBK²åÈëµÄ×Ö·û¼¯£¬µ«¿ÉÒÔÏÔʾÓÃUS7ASCII²åÈëµÄ×Ö·û¼¯
    SQL> SELECT * FROM TEST;

    R1
    ----------
    ¶«±±
    ??


    ¸ü¸Ä·þÎñÆ÷×Ö·û¼¯ÎªZHS16GBK
    SQL> update props$ set value$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET';

    1 row updated.

    SQL> COMMIT;

    ¸ü¸Ä¿Í»§¶Ë×Ö·û¼¯ÎªZHS16GBK
    D:\>SET NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

    D:\>SQLPLUS "/ AS SYSDBA"

    ¿ÉÒÔÏÔʾÒÔǰUS7ASCIIµÄ×Ö·û¼¯£¬µ«ÎÞ·¨ÏÔʾÓÃZHS16GBK²åÈëµÄÊý¾Ý£¬ËµÃ÷ÓÃZHS16GBK²åÈëµÄÊý¾ÝΪÂÒÂë¡£

    SQL> SELECT * FROM TEST;

    R1
    --------------------
    ¶«±±
    ??


ÐèÒªÖ¸³öµÄÊÇ£¬Í¨¹ý¡°update props$ set value$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET';¡±À´ÐÞ¸ÄÊý¾Ý¿â×Ö·û¼¯ÊǷdz£¹æ×÷·¨£¬ºÜ¿ÉÄÜÒýÆðÎÊÌ⣬ÔÚÕâÀïÖ»ÊÇÔ­ÎÄÒýÓÃÍøÓѵÄʵÑé½á¹û¡£

ʵÑé½á¹û·ÖÎöËÄ

    quote:
    SQL> INSERT INTO TEST VALUES('¶«±±');

    1 row created.

    SQL> SELECT * FROM TEST;

    R1
    --------------------
    ¶«±±
    ??
    ¶«±±

    SQL> EXIT


ÓÉÓÚ´ËʱÊý¾Ý¿âÓë¿Í»§¶ËµÄ×Ö·û¼¯ÉèÖþùΪZHS16GBK£¬ËùÒÔ²»»á·¢Éú×Ö·û¼¯µÄת»»£¬µÚÒ»ÐÐÓëµÚÈýÐÐÊý¾ÝÏÔʾÕýÈ·£¬¶øµÚ¶þÐÐÓÉÓÚ´æ´¢µÄÊý¾Ý¾ÍÊÇ63£¨00111111£©£¬ËùÒÔÏÔʾµÄÊÇ¡°£¿¡±ºÅ¡£

    quote:
    ¸ü¸Ä¿Í»§¶Ë×Ö·û¼¯ÎªUS7ASCII

    D:\>SET NLS_LANG=AMERICAN_AMERICA.US7ASCII

    D:\>SQLPLUS "/ AS SYSDBA"

    ÎÞ·¨ÏÔʾÊý¾Ý

    SQL> SELECT * FROM TEST;

    R1
    ----------
    ??
    ??
    ??

    ÒÉÎÊ2£ºµÚÒ»ÐÐÊý¾ÝÊÇÓÃUS7ASCII»·¾³²åÈëµÄ£¬ÎªºÎÎÞ·¨Õý³£ÏÔʾ£¿


½«¿Í»§¶Ë×Ö·û¼¯ÉèÖøÄΪUS7ASCIIºó½øÐÐSELECT£¬Oracle¼ì²é·¢ÏÖÊý¾Ý¿âÉèÖõÄ×Ö·û¼¯ÎªZHS16GBK£¬Êý¾ÝÐèÒª½øÐÐ×Ö·û¼¯×ª»»£¬¶øµÚÒ»ÐÐÓëµÚÈýÐеĺº×Ö¡°¶«¡±Óë¡°±±¡±ÔÚ¿Í»§¶Ë×Ö·û¼¯US7ASCIIÖÐûÓжÔÓ¦×Ö·û£¬ËùÒÔת»»Îª¡°Ìæ»»×Ö·û¡±£¨¡°£¿¡±£©£¬¶øµÚ¶þÐÐÊý¾ÝÔÚÊý¾Ý¿âÖдæµÄ±¾À´¾ÍÊÇÁ½¸ö¡°£¿¡±ºÅ£¬ËùÒÔËäÈ»ÔÚ¿Í»§¶ËÏÔʾµÄÈýÐж¼ÊÇÁ½¸ö¡°£¿¡±ºÅ£¬µ«ÔÚÊý¾Ý¿âÖд洢µÄÄÚÈÝÈ´ÊDz»Í¬µÄ¡£

ʵÑé½á¹û·ÖÎöÎå

    quote:

    SQL> INSERT INTO TEST VALUES('¶«±±');

    1 row created.

    SQL> EXIT
    ¸ü¸Ä¿Í»§¶Ë×Ö·û¼¯ÎªZHS16GBK
    D:\>SET NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

    D:\>SQLPLUS "/ AS SYSDBA"

    ÎÞ·¨ÏÔʾÓÃUS7ASCII²åÈëµÄ×Ö·û¼¯£¬µ«¿ÉÒÔÏÔʾÓÃZHS16GBK²åÈëµÄ×Ö·û¼¯
    SQL> SELECT * FROM TEST;

    R1
    --------------------
    ¶«±±
    ??
    ¶«±±
    6+11

    SQL>
    ÒÉÎÊ3£ºUS7ASCIIΪZHS16GBKµÄ×Ó¼¯£¬ÎªºÎÔÚUS7ASCII»·¾³Ï²åÈëµÄÊý¾ÝÎÞ·¨ÏÔʾ£¿ [/B]


ÔÚ¿Í»§¶Ë×Ö·û¼¯ÉèÖÃΪUS7ASCIIʱ£¬Ïò×Ö·û¼¯ÎªZHS16GBKµÄÊý¾Ý¿âÖвåÈë¡°¶«±±¡±£¬ÐèÒª½øÐÐ×Ö·ûת»»£¬¡°¶«±±¡±µÄZHS16GBK±àÂëΪ 182£¨10110110£©¡¢171£¨10101011£©Óë177£¨10110001£©¡¢177£¨10110001£©£¬ÓÉÓÚUS7ASCIIΪ7bit±àÂ룬Oracle½«ÕâÁ½¸öºº×Öµ±×÷Ëĸö×Ö·û£¬²¢ºöÂÔ¸÷×Ö½ÚµÄ×î¸ß룬´Ó¶ø´æÈëÊý¾Ý¿âµÄ±àÂë¾Í±ä³ÉÁË54£¨00110110£©¡¢43£¨00101011£©Óë 49£¨00110001£©¡¢49£¨00110001£©£¬Ò²¾ÍÊÇ¡°6+11¡±£¬Ô­Ê¼ÐÅÏ¢±»¸Ä±äÁË¡£Õâʱ£¬½«¿Í»§¶Ë×Ö·û¼¯ÉèÖÃΪZHS16GBKÔÙ½øÐÐ SELECT£¬Êý¾Ý¿âÖеÄÐÅÏ¢²»ÐèÒª¸Ä±ä´«µ½¿Í»§¶Ë£¬µÚÒ»¡¢ÈýÐÐÓÉÓÚ´æÈëµÄÐÅϢûÓиıäÄÜÏÔʾ¡°¶«±±¡±£¬¶øµÚ¶þ¡¢ËÄÐÐÓÉÓÚ²åÈëÊý¾ÝʱÐÅÏ¢¸Ä±ä£¬ËùÒÔ²»ÄÜÏÔʾԭÓÐÐÅÏ¢ÁË¡£

·ÖÎöÁËÕâô¶àµÄÄÚÈÝ£¬µ«Êµ¼ÊÉÏ×ܽáÆðÀ´Ò²ºÜ¼òµ¥

·ÖÎöÁËÕâô¶àµÄÄÚÈÝ£¬µ«Êµ¼ÊÉÏ×ܽáÆðÀ´Ò²ºÜ¼òµ¥£¬ÒªÏëÔÚ×Ö·û¼¯·½ÃæÉÙЩ´íÎóÓëÂé·³£¬ÐèÒª¼á³ÖÁ½Ìõ»ù±¾Ô­Ôò£º
ÔÚÊý¾Ý¿â¶Ë£ºÑ¡ÔñÐèÒªµÄ×Ö·û¼¯£¨Í¨¹ýcreate databaseÖеÄCHARACTER SETÓëNATIONAL CHARACTER SET×Ó¾äÖ¸¶¨£©£»
ÔÚ¿Í»§¶Ë£ºÉèÖòÙ×÷ϵͳʵ¼ÊʹÓõÄ×Ö·û¼¯£¨Í¨¹ý»·¾³±äÁ¿NLS_LANGÉèÖã©¡£

TOP

àÅ,ºÜºÃµÄÎÄÕÂ,ÎÒÔÙ¶ÔÕÕmysqlÊÖ²áÕÒÒ»ÏÂÎÊÌâ,ллÄã)
ÎÞÇ©Ãû

TOP

ÓÃMySQL Front¹¤¾ß£­£­MysqlµÄǰ¶Ë²Ù×÷¹¤¾ß¡£¼òµ¥ºÃÓá£ÔÚÀïÃæ¿ÉÒÔÑ¡Ôñ×Ö·û±àÂëgbk¡£ÊÔÏ¿´¿´ÊÇ·ñÊÇÖÐÎÄ¡£Èç¹ûÕâÑù»¹²»ÐУ¬¾ÍÊdzÌÐòÖбàÂëµÄÎÊÌâÁË¡£

TOP

sqlyog¿Í»§¶Ë¹¤¾ß

TOP


¸ÐлһֱÒÔÀ´Äú¶ÔÎÒÃǵÄÖ§³Ö£¡
µ±Ç°Ê±Çø GMT+8, ÏÖÔÚʱ¼äÊÇ 2008-9-8 21:02 ¾©ICPÖ¤060528 ºÅ

Designed By 17DST