我有一个在生产模式下运行的rails应用程序,但是今天当一个用户试图保存记录时突然出现了这个错误。
Mysql2::Error: Incorrect string value
Parameters: {"utf8"=>"â<9c><93>" ...
Mysql2::Error: Incorrect string value: '\xC5\x99\xC3\xA1k
Mysql2::Error: Incorrect string value: '\xC5\x99\xC3\xA1k
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.04 sec)
谢谢
该问题是由您的mysql服务器端的charset引起的。您可以手动配置如下:
ALTER TABLE your_database_name.your_table CONVERT TO CHARACTER SET utf8
或者删除表并重新创建它,如下所示:
rake db:drop
rake db:create
rake db:migrate
参考资料:
更新
第一个命令只影响指定的表,如果要更改数据库中的所有表,可以执行如下操作
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;
参考资料:
https://stackoverflow.com/A/6115705/2034097
问题内容: 尝试将first_name,last_name保存到Django的auth_user模型时,出现奇怪的错误消息。 失败的例子 成功的例子 MySQL设置 表字符集和排序规则 表auth_user具有utf-8字符集,并带有utf8_general_ci排序规则。 UPDATE命令的结果 使用UPDATE命令将上述值更新到auth_user表时,它没有引发任何错误。 PostgreSQL
null 但问题还是出现了。你知道吗?
我试图上传csv到我的mysql数据库使用jooq,但我得到以下错误。我在网上尝试了各种建议的解决方案,但都没能解决 我如何将csv上传到jooq 我确保文件在utf-8中,但是当有UTF-8字符记录时,无法保存在DB中并抛出上述错误。我确保使用 前端ajax: 我正在通过java rest从前端读取文件 并在传递给jooq之前在本地系统中递归写入文件 我将DB设置为接受utf-8,并进行了验证
sonarcube服务器6.1上的sonarqube Runers 2.4能够成功分析和生成报告,但服务器无法处理报告并抛出以下错误: 2016.11.12 13:41:05 跟踪 ce[AVhXlYUu6eaRvX5y_I2S][sql] 时间=265毫秒 |sql=INSERT INTO 问题(基、rule_id、严重性、manual_severity、消息、行、位置、差距、工作量、状态、标记
我是C#的新手,我有一些Java方面的基础知识,但我不能让这段代码正常运行。 它只是一个基本的计算器,但当我运行程序时,VS2008给了我这个错误: 我做了几乎相同的程序,但在Java使用的是JSwing,它运行得非常好。 下面是C#的形式: 会有什么问题?有没有办法解决? PS:我也试过 但没有奏效。
在尝试向列添加一些内容后,我得到了 问题出在哪里?