sqlalchemy+mssql+python3 query encoding











up vote
0
down vote

favorite












I'm new to sqlalchemy and am working on a small code that fetches data from my company's MS SQL server.



For some reason, the following query returns None. Even though the same query statement works perfectly when typed in an MS SQL console(in pycharm/datagrip).



It seems the problem is caused by the Chinese characters ("南宁市") in the where clause. I can query without any problem as long as there is no special(Chinese) characters in the where clause.



I am wondering if there is a way to solve the issue? Your input will be greatly appreciated.



>>from sqlalchemy import create_engine
>>engine = create_engine(****, connect_args={'charset':'GBK'})
>>conn = engine.connect()
>>rsps = conn.execute("SELECT * FROM COMPINTRODUCTION WHERE CITY='南宁市'").fetchone()
>>rsps is None
True


Software environment:



Client OS: Windows 10
DB Server: Microsoft SQL Server 2008
DB Charset: cp936
sqlalchemy version: 1.2.13
pymssql version: 2.1.4
python version: 3.6 (Anaconda)









share|improve this question






















  • stackoverflow.com/questions/16024041/…
    – Mitch Wheat
    Nov 25 at 1:12















up vote
0
down vote

favorite












I'm new to sqlalchemy and am working on a small code that fetches data from my company's MS SQL server.



For some reason, the following query returns None. Even though the same query statement works perfectly when typed in an MS SQL console(in pycharm/datagrip).



It seems the problem is caused by the Chinese characters ("南宁市") in the where clause. I can query without any problem as long as there is no special(Chinese) characters in the where clause.



I am wondering if there is a way to solve the issue? Your input will be greatly appreciated.



>>from sqlalchemy import create_engine
>>engine = create_engine(****, connect_args={'charset':'GBK'})
>>conn = engine.connect()
>>rsps = conn.execute("SELECT * FROM COMPINTRODUCTION WHERE CITY='南宁市'").fetchone()
>>rsps is None
True


Software environment:



Client OS: Windows 10
DB Server: Microsoft SQL Server 2008
DB Charset: cp936
sqlalchemy version: 1.2.13
pymssql version: 2.1.4
python version: 3.6 (Anaconda)









share|improve this question






















  • stackoverflow.com/questions/16024041/…
    – Mitch Wheat
    Nov 25 at 1:12













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I'm new to sqlalchemy and am working on a small code that fetches data from my company's MS SQL server.



For some reason, the following query returns None. Even though the same query statement works perfectly when typed in an MS SQL console(in pycharm/datagrip).



It seems the problem is caused by the Chinese characters ("南宁市") in the where clause. I can query without any problem as long as there is no special(Chinese) characters in the where clause.



I am wondering if there is a way to solve the issue? Your input will be greatly appreciated.



>>from sqlalchemy import create_engine
>>engine = create_engine(****, connect_args={'charset':'GBK'})
>>conn = engine.connect()
>>rsps = conn.execute("SELECT * FROM COMPINTRODUCTION WHERE CITY='南宁市'").fetchone()
>>rsps is None
True


Software environment:



Client OS: Windows 10
DB Server: Microsoft SQL Server 2008
DB Charset: cp936
sqlalchemy version: 1.2.13
pymssql version: 2.1.4
python version: 3.6 (Anaconda)









share|improve this question













I'm new to sqlalchemy and am working on a small code that fetches data from my company's MS SQL server.



For some reason, the following query returns None. Even though the same query statement works perfectly when typed in an MS SQL console(in pycharm/datagrip).



It seems the problem is caused by the Chinese characters ("南宁市") in the where clause. I can query without any problem as long as there is no special(Chinese) characters in the where clause.



I am wondering if there is a way to solve the issue? Your input will be greatly appreciated.



>>from sqlalchemy import create_engine
>>engine = create_engine(****, connect_args={'charset':'GBK'})
>>conn = engine.connect()
>>rsps = conn.execute("SELECT * FROM COMPINTRODUCTION WHERE CITY='南宁市'").fetchone()
>>rsps is None
True


Software environment:



Client OS: Windows 10
DB Server: Microsoft SQL Server 2008
DB Charset: cp936
sqlalchemy version: 1.2.13
pymssql version: 2.1.4
python version: 3.6 (Anaconda)






sql-server python-3.x unicode sqlalchemy encode






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 19 at 15:52









H. W.

1




1












  • stackoverflow.com/questions/16024041/…
    – Mitch Wheat
    Nov 25 at 1:12


















  • stackoverflow.com/questions/16024041/…
    – Mitch Wheat
    Nov 25 at 1:12
















stackoverflow.com/questions/16024041/…
– Mitch Wheat
Nov 25 at 1:12




stackoverflow.com/questions/16024041/…
– Mitch Wheat
Nov 25 at 1:12












1 Answer
1






active

oldest

votes

















up vote
0
down vote













It seems the problem is caused by pymssql. I switch to odbc and the problem is gone.






share|improve this answer








New contributor




H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.


















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53378288%2fsqlalchemymssqlpython3-query-encoding%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote













    It seems the problem is caused by pymssql. I switch to odbc and the problem is gone.






    share|improve this answer








    New contributor




    H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      0
      down vote













      It seems the problem is caused by pymssql. I switch to odbc and the problem is gone.






      share|improve this answer








      New contributor




      H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















        up vote
        0
        down vote










        up vote
        0
        down vote









        It seems the problem is caused by pymssql. I switch to odbc and the problem is gone.






        share|improve this answer








        New contributor




        H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        It seems the problem is caused by pymssql. I switch to odbc and the problem is gone.







        share|improve this answer








        New contributor




        H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        share|improve this answer



        share|improve this answer






        New contributor




        H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        answered Nov 25 at 0:41









        H. W.

        1




        1




        New contributor




        H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.





        New contributor





        H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






        H. W. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53378288%2fsqlalchemymssqlpython3-query-encoding%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Futebolista

            Feedback on college project

            Albești (Vaslui)