非英语不支持来自 $.post jquery codeigniter 的 mysql 查询

Posted

技术标签:

【中文标题】非英语不支持来自 $.post jquery codeigniter 的 mysql 查询【英文标题】:Non English not supported mysql query from $.post jquery codeigniter 【发布时间】:2020-03-08 20:52:33 【问题描述】:

我需要通过 $.post 为非英语关键字调用 ajax,但它以编码格式结束,因此没有结果。我的编码为UTF-8,数据库排序规则为utf8_unicode_ci。仍然有问题。分享代码和结果:

//Jquery

  $('form#frm_word').submit(function (e) 
        e.preventDefault();
        //var url = $(this).attr('action');
        var s = $('input#s').val();
        var url = '<?php echo site_url('words/get_word'); ?>' + '/' + s;
        $.post(url, function (o) 
            if (o.result == 1) 
                console.log(o.words);
            
        , 'json');
    );

Case url: http://localhost/subscription/words/get_word/আমি
Result: SELECT * FROM `words` WHERE w_word LIKE 
'%%E0%A6%86%E0%A6%AE%E0%A6%BF%'"result":2

【问题讨论】:

【参考方案1】:

使用像$this-&gt;uri-&gt;segment(3)这样的段函数获取变量中的值,然后在查询中使用引号发送参数

select * from words where w_word LIKE '$variable%'; 
or
select * from words where w_word = '$variable';

【讨论】:

以上是关于非英语不支持来自 $.post jquery codeigniter 的 mysql 查询的主要内容,如果未能解决你的问题,请参考以下文章

从HTTP请求中读取非英语UTF-8内容

创建仅使用非英语语言的应用程序的正确方法

css 来自http://www.paulund.co.uk/how-to-create-an-animated-scroll-to-top-with-jquery

来自本地文件的jQuery ajax POST访问跨域不起作用

JQuery'afterunload'事件没有在PHP中将来自$ .post的响应调用到mail.log

无法解析来自 jQuery Ajax POST 的 Json 结果