php - PhpStorm 将数据从 CSV 文件导入 MySQL,Cyrillic 问题
问题描述
我在尝试将数据从 CSV 文件导入 PhpStorm 中的 MySQL 数据库时遇到编码问题。CSV 文件包含西里尔符号。我读过一些文章,尝试了很多东西,但没有一个对我有用。
在 my.ini 文件中,我更改了:
collation_server=utf8_unicode_ci
去collation_server=utf8mb4_unicode_ci
和
character_set_server=utf8
去character_set_server=utf8mb4
但结果还是一样。
那是我的 CSV 文件:
NAME_1,NAME_2,NAME_3
Vladimir,Ivanov,Kaziyski
ИВАН,ПЕТРОВ,ГЕОРГИЕВ
John,Lee,Smith
ПЕТЪР,ЙОРДАНОВ,ПЕТРОВ
在 PhpStorm 中,我在要导入数据的数据库上单击右键,然后单击:
然后我选择了 CSV 文件
在数据预览部分一切看起来都很正常,编码设置为 UTF-8
然后我得到这个错误
这是日志:
2:1: Data truncation: Incorrect string value: '\xD0\x98\xD0\x92\xD0\x90...' for column `current_db`.`csv_data`.`NAME_1` at row 2
3:1: Data truncation: Incorrect string value: '\xD0\x98\xD0\x92\xD0\x90...' for column `current_db`.`csv_data`.`NAME_1` at row 1
4:1: Data truncation: Incorrect string value: '\xD0\x98\xD0\x92\xD0\x90...' for column `current_db`.`csv_data`.`NAME_1` at row 2
5:1: Data truncation: Incorrect string value: '\xD0\x9F\xD0\x95\xD0\xA2...' for column `current_db`.`csv_data`.`NAME_1` at row 1
我已经搜索了这个错误并尝试了几乎所有的解决方案,但没有任何效果。问题肯定是西里尔文。有 PhpStorm 的人有同样的问题吗?如何解决?
解决方案
utf8 vs utf8mb4 对于西里尔文无关紧要,只对表情符号和中文。
请提供SHOW CREATE TABLE
。我怀疑您没有更改CHARACTER SET
将接收西里尔字符的列。
推荐阅读
- exception - 关于哪个 OCaml 标准库函数可以引发哪个错误的文档
- python - FreeOPC 不会在启动时启动
- ios - swift - 使用 Decodable 从 API 解析 JSON
- react-native - 在 react native 中停止启动类似于 TikTok 的视频录制栏
- java - 如何为 Junit 测试模拟 executeNamedQuery(query, params)
- aws-lambda - Pdf to Png with Python in Lambda- 错误:“无法获取页数。是否已安装 poppler 并在 PATH 中?”
- pine-script - 无法从 pine 编辑器中的函数访问值
- rx-java - 在 Vert.x 中重试 HTTP 调用 N 次,然后返回一个 Maybe
- blazor-webassembly - Blazor wasm 全局路由前缀
- python - 在 Python 中使用 Turtle 模块将缩小的海龟向上移动窗口屏幕