Join Stack Overflow to learn, share knowledge, and build your career.

Email Sign UpOR SIGN IN WITH

 Google
 Facebook
 

I have successfully implemented Ignited-Datatables. However, while searching with database when typing "non-latin" characters like "İ,ş,ğ,.."

POST http://vproject.dev/module/user/ign_listing 500 (Internal Server Error)

Details are:

Illegal mix of collations for operation 'like' while searching
... (u.id_user LIKE '%İ%' OR u.first_name LIKE '%İ%' OR u.last_name LIKE '%İ%' OR ue.email LIKE '%İ%' OR u.last_login LIKE '%İ%' ) ...

%İ% part changes according to the non-latin character you typed.

Any idea for solving this?

asked Sep 5 '13 at 6:22
YahyaE

668617
 
    
One option is to use convert(datefield using utf-8)... – bbonev Jun 6 at 7:47 

3 Answers

I figured out the problem. It seems it is DATETIME fields that causes the problem.

.. ue.last_login '%ayşenur%'

gives error for Illegal mix of collations for operation 'like'. When I remove LIKE partials DATETIME fields, there are no error any more. I hope this helps.

answered Sep 6 '13 at 6:10
YahyaE

668617
 
1  
Merhaba. did you fix this issue without removing DATETIME? – Rashad Sep 4 '14 at 8:23
3  
No, LIKE and DATETIME incompitablity is a MySQL problem. Hope to be fixed in later versions. – YahyaESep 4 '14 at 11:37
    
As I understand, the problem is on JSON UNICODE DECODES. So, in PHP 5.4 it should work. Did you try it at the latest PHP version? – Rashad Sep 5 '14 at 11:42
    
@RiKo You may be right. The question is one year old, so I did not try with the latest version. Let me and community know if you try and make it work. Thanks – YahyaE Sep 6 '14 at 8:33
    
@RiKo Did you try with the latest version? – YahyaE Oct 6 '14 at 17:38

Try the following:

u.id_user LIKE '%İ%' OR ... OR ... '%İ%' COLLATE utf8_bin

Refer to MySQL Unicode Character Sets

Also you can refer to MySQL _bin and binary Collations for more information on utf8_bin:

Nonbinary strings (as stored in the CHAR, VARCHAR, and TEXT data types) have a character set and collation. A given character set can have several collations, each of which defines a particular sorting and comparison order for the characters in the set. One of these is the binary collation for the character set, indicated by a _bin suffix in the collation name. For example, latin1 and utf8 have binary collations named latin1_bin and utf8_bin.

answered Sep 5 '13 at 6:39
doitlikejustin

5,24522955
 
    
Thanks for the knowledge but it didn't work. I think it is something about how the library handles the post data.– YahyaE Sep 5 '13 at 8:18
    
Why don't you try var_dump($this->input->post()); in your controller to see exactly what CI is doing to those chars. – doitlikejustin Sep 5 '13 at 14:57
    
I did. It is where the problem is. I am stacked with this, how come post is not utf-8? – YahyaE Sep 6 '13 at 3:16
    
The POST seems UTF-8, it is okay. Something wrong with Ignited-Datatables_ – YahyaE Sep 6 '13 at 5:03
    
Further reference [link] (github.com/IgnitedDatatables/Ignited-Datatables/issues/38) – YahyaE Sep 6 '13 at 5:05

i know that this is far too late, but, here my workaround.

SELECT * FROM (SELECT DATE_FORMAT(some_date,'%d/%m/%Y') AS some_date FROM some_table)tb1
WHERE some_date LIKE '% $some_variable %'

datetime/date column gives error for Illegal mix of collations for operation 'like', therefore, by converting it, as another table entity, previous column type will be replace with varchar type.

also, make sure to convert any column before convert it to temporary table, to make matching process more easier.

answered Aug 17 '16 at 4:15
 
    
Not in a position to test it but I liked the idea. – YahyaE Aug 18 '16 at 21:12

Your Answer

 
 
 
 
 

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged mysql codeigniter activerecord datatable or ask your own question.

asked

4 years, 3 months ago

viewed

7,928 times

active

1 year, 4 months ago

 
Work from anywhere

  • Senior Full Stack Developer
    Browzzin Pte LtdNo office location
    $40K - $60KREMOTE

    phppython

     
  • Senior/Lead Drupal (PHP) Engineer
    Compucorp Ltd.No office location
    £20K - £28KREMOTE

    phpphpunit

     
  • Director of Security
    Wikimedia Foundation, Inc.San Francisco, CA
    REMOTE

    phplinux

     
  • Software Quality Assurance Engineer
    Platform.shNo office location
    REMOTE

    qasymfony2

    High response rate

  • Work remotely - from home or wherever you choose.

    Browse remote jobs

 
Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load.

Illegal mix of collations for operation 'like' while searching with Ignited-Datatables的更多相关文章

  1. mysql 客户端连接报错Illegal mix of collations for operation

    服务端用的是utf-8,客户端工具打开表和视图是会报Illegal mix of collations for operation错误,经排查,可以采用以下语句解决 SET character_set ...

  2. Illegal mix of collations for operation 'concat'

    在t_employee表中,练习使用concat函数连接字符串时, mysql> select concat('工号为:',fnumber,'的员工的幸福指数:',fsalary/(fage-2 ...

  3. mysql5.6修改字符编码,ERR:Illegal mix of collations for operation 'concat'

    mysql5.6修改字符编码,ERR:Illegal mix of collations for operation 'concat' 1.问题起因:搭建环境初始化mysql的时候看到mysql配置文 ...

  4. MySQL Error: Illegal mix of collations for operation 'concat'

    在使用concat连接字符串时出现错误:MySQL Error: Illegal mix of collations for operation 'concat' 原因:字段操作默认为UTF8的编码, ...

  5. 错误之Illegal mix of collations for operation 'like'

    内容来自博客:https://www.cnblogs.com/install/p/4417527.html MySQL Illegal mix of collations for operation ...

  6. myslq数据库用union all查询出现 #1271 - Illegal mix of collations for operation 'UNION'

    出现 #1271 - Illegal mix of collations for operation 'UNION' 的原因是两个字符编码不匹配造成的. 我遇到的是  utf8_general_ci ...

  7. mysql提示:Illegal mix of collations for operation ‘UNION’

    http://www.111cn.net/database/mysql/56096.htm show variables like "%char%"; show variables ...

  8. 有关mysql的utf8和utf8mb4,以及Illegal mix of collations for operation 'like'

    参考以下几个帖子: https://www.cnblogs.com/install/p/4417527.html https://blog.csdn.net/Yetmoon/article/detai ...

  9. Mysql Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='

    MySQL字符串比较bug: select * from table_a a left join table_b b on a.field_a = b.field_b   error: Illegal ...

随机推荐

  1. Js 实战3(实现全选)

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs ...

  2. 51nod 算法马拉松4 D装盒子(网络流 / 二分图最优匹配)

    装盒子   基准时间限制:1 秒 空间限制:131072 KB 分值: 160 有n个长方形盒子,第i个长度为Li,宽度为Wi,我们需要把他们套放.注意一个盒子只可以套入长和宽分别不小于它的盒子,并且 ...

  3. 文件和I/O流

    版权声明:本文为[博主](https://zhangkn.github.io)原创文章,未经博主同意不得转载.https://creativecommons.org/licenses/by-nc-sa ...

  4. 【小白的java成长系列】——windows下搭建和配置java环境

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/enson16855/article/details/25967851 基于非常多原因,还是得说说ja ...

  5. 结构化日志类库 ---- Serilog库

    在过去的几年中,结构化日志已经大受欢迎.而Serilog是 .NET 中最著名的结构化日志类库 ,我们提供了这份的精简指南来帮助你快速了解并运用它. 0. 内容 设定目标 认识Serilog 事件和级 ...

  6. Hive之 Hql语法解析

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  7. Windows Redis安装,Java操作Redis

    一.Redis 的安装 1.Redis 下载 Windows 版本下载:https://github.com/dmajkic/redis/downloads 2.解压到 C:\redis-2.4.5- ...

  8. Java-Runoob-高级教程-实例-环境设置实例:2.Java 实例 – Java 如何运行一个编译过的类文件?

    ylbtech-Java-Runoob-高级教程-实例-环境设置实例:2.Java 实例 – Java 如何运行一个编译过的类文件? 1.返回顶部 1. Java 实例 - 如何执行编译过 Java ...

  9. mysql-3 数据表的创建、增删改查

    1.创建数据表 通用语法:CREATE TABLE table_name (column_name column_type); CREATE TABLE IF NOT EXISTS `csj_tbl` ...

  10. java 查询solr时间格式

    solr时间格式是2015-07-06T00:00:00.0Z,所以下面是把当前时间做转换 SimpleDateFormat format = new SimpleDateFormat("y ...