加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

php-MySQL正则表达式功能土耳其语字符问题

发布时间:2020-05-23 04:55:11 所属栏目:MySql 来源:互联网
导读:我正在用土耳其语搜索php.在土耳其语字母中,有“ i”和“”小写字符.还具有“ I”和“”大写字符.在正则表达式函数中找不到MySQL选择查询土耳其语字符,例如:-..我的搜索列数据类型字符集UTF-8 general_ci.我在等你的答案.提前致谢.最佳答案您可以通过以下方

我正在用土耳其语搜索php.在土耳其语字母中,有“ i”和“”小写字符.还具有“ I”和“”大写字符.

在正则表达式函数中找不到MySQL选择查询土耳其语字符,例如:-..我的搜索列数据类型字符集UTF-8 general_ci.

我在等你的答案.提前致谢.

最佳答案 您可以通过以下方式解决土耳其字符问题.

使用HTML和JQuery代码,如下所示;

function searchBarReplaceChar() {
        searchInput = $.trim($('input[name="replaceChar"]').val());

        let charMap = {
            : '[C]+',C: '[C]+',: '[O]+',O: '[O]+',: '[S]+',S: '[S]+',: '[I]+',I: '[I]+',: '[U]+',U: '[U]+',: '[G]+',G: '[G]+',: '[c]+',c: '[c]+',: '[o]+',o: '[o]+',: '[s]+',s: '[s]+',: '[i]+',i: '[i]+',ü: '[uü]+',u: '[uü]+',: '[g]+',g: '[g]+',};

        let str_array = searchInput.split('');

        for (let i = 0,len = str_array.length; i < len; i++) {
            str_array[i] = charMap[str_array[i]] || str_array[i];
        }

        searchInput = str_array.join('');

        let replaceChar = searchInput.replace(/[]/gi,"");
        let lastChar = replaceChar.slice(-1);
        if (lastChar === '+') {
            replaceChar = replaceChar.slice(0,-1);
        }
        $('.result').text(replaceChar);
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="replaceChar" value="ehir bu gece ok güzel" />
<p class="result"></p>
<button type="submit" onclick="searchBarReplaceChar()" >Send</button>

发送此结果到您的带有ajax帖子的php文件中.

稍后,您的php文件代码,

public function search_regexp() {
    $regexp = str_replace('i','',$_POST['get_replace_result']);
    $regexp = str_replace('','I',$regexp);
    $regexp = mb_strtoupper($regexp,"UTF-8");
    $sql_query = "SELECT * FROM your_table WHERE example_column regexp '$regexp'";
    // $sql_query = "SELECT * FROM your_table WHERE example_column regexp '[S]+EH[I]+R B[U]+ [G]+E[C]+E [C]+[O]+K [G]+[U]+ZEL'";
}

不要忘记这一点,mysql数据库在您的表列中的数据类型为字符集utf8_turkish_ci

祝你好运

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读