gpt4 book ai didi

Mysql2::Error: 不正确的字符串值

转载 作者:IT老高 更新时间:2023-10-28 12:55:11 26 4
gpt4 key购买 nike

我有一个在生产模式下运行的 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显示这个:

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)

出了什么问题,我该如何更改它以使我对任何字符都没有任何问题?

另外:这个问题可以用 javascript 解决吗?在发送之前转换它?

谢谢

最佳答案

问题是由你的 mysql 服务器端的字符集引起的。您可以像这样手动配置:

ALTER TABLE your_database_name.your_table CONVERT TO CHARACTER SET utf8

或删除表并重新创建它:

rake db:drop
rake db:create
rake db:migrate

引用:

https://stackoverflow.com/a/18498210/2034097

https://stackoverflow.com/a/16934647/2034097

更新

第一个命令只影响指定的表,如果要更改数据库中的所有表,可以这样做

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;

引用:

https://stackoverflow.com/a/6115705/2034097

关于Mysql2::Error: 不正确的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22464011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com