gpt4 book ai didi

Mysql2::错误:不正确的字符串值:'\xE2\x80\xA8\x09

转载 作者:IT老高 更新时间:2023-10-29 00:08:52 27 4
gpt4 key购买 nike

我有一个 Rails 应用程序。有时,当用户在文本字段中写入内容并执行查询以更新 MySQL 数据库中的该字段时,我会收到以下错误日志:

更新船 SET 描述 = 'Vive la experiencia única de navegar abordo de un clásico de madera de lujo como Mako。 Te emocionará.', updated_at = '2015-03-10 20:10:32' WHEREboats.id = 1

    E, [2015-03-10T20:10:32.223430 #20343] ERROR -- : Mysql2::Error: Incorrect string value: '\xE2\x80\xA8\x09Te...' for column 'description' at row 1: UPDATE boats SET description = 'Vive la experiencia única de navegar abordo de un clásico de madera de lujo como Mako. 
        Te emocionará.', updated_at = '2015-03-10 20:10:32' WHERE boats.id = 1

注意:抱歉,我无法将上面的代码作为代码。必须有特殊字符。

我希望用户可以添加任何字符而不会出错。

我有一个开发和生产环境。该错误仅在生产中发生。

我看到这个帖子看起来和我的问题一样:Mysql2::Error: Incorrect string value

我运行这个查询 show variables like 'char%'; 来检查数据库字符配置和:开发:

'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'utf8'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'utf8'
'character_set_system', 'utf8'
'character_sets_dir', '/usr/local/Cellar/mysql/5.6.19/share/mysql/charsets/'

生产:

'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/'

所以,我执行了 ALTER DATABASE yanpyprod CHARACTER SET utf8 COLLATE utf8_general_ci; 将我的数据库字符集更新为 utf8。

但是,将字符集更改为utf8后,我仍然收到同样的错误。

最佳答案

如果您运行 ALTER TABLE your_database_name.your_table CONVERT TO CHARACTER SET utf8 而不是在上面的数据库中更新字符集的查询,它就会起作用。

解决方案是在最后的附件中。

关于Mysql2::错误:不正确的字符串值:'\xE2\x80\xA8\x09,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28973453/

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