调用存储过程时,发生报错,信息如下:
ERROR 1267 (HY000): Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='
很明显,这是字符集方面的问题。
查看数据表,字符集是gb2312没错,连接字符集,服务器端字符集也全都是gb2312。怀疑是字段的字符集有问题,修改了一下,也不行。
后来创建一个临时变量,设定其字符集为gb2312,仍然不行:
set @name = in_name collate gb2312_chinese_ci;
几乎快抓狂时,突然想起来数据库(schema)的字符集可能不是gb2312,果然,schema的字符集是latin1的,修改过来后,一切正常。
ALTER DATABASE `yejr` CHARACTER SET gb2312;
因此,在碰到字符集问题时,应该从服务器端,到数据库,到数据表,然后连接等各个层次仔细检查,确认是否保持一致。
本文出自 “老叶茶馆” 博客,转载请与作者联系!
转载于:https://my.oschina.net/yejr/blog/878632
分享到:
相关推荐
通过正确配置和理解这些字符集,可以有效地避免"Illegal mix of collations for operation"的错误,确保中文数据的正确存储和检索。在实际操作中,根据具体环境和需求进行调整,确保所有环节都支持所需的字符集。
当在Java环境中使用AES加密时遇到 `java.security.InvalidKeyException: Illegal key size or default parameter` 这个异常,通常意味着密钥的长度超过了Java安全策略所允许的最大值。具体来说: - **非法密钥大小...
MySQL数据库建表的时候采用的是latin的字符集,而网页中查询的是utf-8,当输入页面输入中文,然后再数据库中查询的时候,就会报出 ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,...
对接微信接口中因为jdk8解密长度不够 报错 java.security.InvalidKeyException: Illegal key size 替换路径:(记得备份原有的文件) C:\Program Files\Java\jdk1.8.0_131\jre\lib\security
在Java编程环境中,有时会遇到一个常见的错误:"java.security.InvalidKeyException: Illegal key size"。这个错误通常是由于Java安全策略的限制导致的,尤其是当你尝试使用超过默认限制的密钥长度(例如,超过128位...
MySQL中的编码选择对于数据库的正常运行至关重要,尤其是处理包含多种语言或者特殊字符(如表情符号)的数据时。这里我们将深入探讨UTF8和UTF8MB4两种编码格式,以及它们各自的排序规则`utf8mb4_unicode_ci`和`utf8...
在Java编程中,`java.security.InvalidKeyException: Illegal key size` 是一个常见的错误,通常出现在加密或解密操作中,尤其是涉及到对称加密算法如AES(高级加密标准)时。这个错误表明您试图使用的密钥长度不受...
如在加密过程中出现下面异常: java.security.InvalidKeyException:illegal Key Size 请将两个jar文件按下列操作完成: 如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件;如果安装了...
为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用。我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理;然而,在使用256位密钥...
然而,在使用jQuery过程中,开发者有时会遇到JavaScript控制台抛出“Uncaught TypeError: Illegal invocation”错误。这个错误通常不是由jQuery自身引起的,而是与JavaScript作用域及上下文有关。 当我们进行Ajax...
在给定的上下文中,这个问题是在微信开发过程中遇到的,这可能涉及到微信API的调用,其中可能涉及到数据的加密和解密,比如支付接口、消息加解密等。 在JDK6版本中,Java默认仅支持40位和128位的密钥长度,对于更高...
用了这么长时间,发现自己竟然不知道utf_bin和utf_general_ci这两者到底有什么区别。。 ci是 case insensitive, 即 “大小写不敏感”, a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和 A 会别区别对待. ...
今日遇到如下错误:java.security.InvalidKeyException: Illegal key size 因为美国法律限制,JAVA默认支持AES 128 Bit 的key, 如果你计划使用 192 Bit 或者 256 Bit key, java complier 会抛出 Illegal key size ...
在调用企业微信通讯接口的时候,企业微信aes加密抛出了illegal key size异常,这个异常的原因是jdk jar包缺少lib导致的,不同jdk版本的jar包缺失不同,附件包含jdk6,jdk7,jdk8的jar包依赖,更新覆盖的时候,记得先...
在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。 语法 date(选项)(参数) 但最近在使用中遇到了一个问题,下面来一起看看详细的介绍吧。 问题:运行date...
今天使用ajax上传文件时,出现了错误。数据传输的方式是通过定义formData完成的,提交的文件对象也设置为dom对象,但是还是不能发送请求。F12看到后台报了个错误:Uncaught TypeError: Illegal invocation,百度了...
当使用FormData对象时,我们需要确保在调用$.ajax()方法时正确配置相关参数,以避免"Uncaught TypeError: Illegal invocation"这样的错误。 首先,我们需要理解`processData`和`contentType`这两个关键参数的作用:...
然而,在处理不同编码格式的文件时,可能会遇到编码相关的错误,如“UnicodeDecodeError: ‘gbk’ codec can’t decode byte”。这个错误通常发生在尝试用错误的编码方式去读取或解析文件时。 在这个特定的情况下,...