sql - WINDOWS转Linux字符集问题

标签 sql linux perl

我有一组不同的 SQL 文件,其中包含法语/西类牙语和其他语言字符。在 Windows 中,我们能够看到特定的语言字符,当它转移到 Linux 时,我看到奇怪的字符。

我知道 Windows 使用不同的字符集,如 WINDOWS-1252、WINDOWS-1258 和 iso-8859-1。

我们如何在Linux中更改类似于Windows的字符集,以便在Linux触发查询时不会在DB中插入奇怪的字符?

提前致谢。

最佳答案

如果我对问题的理解是正确的,那么您可以使用包括非 ASCII 字符的各种 Windows 编码生成 SQL 脚本。您想在 Linux 上执行这些脚本。

我认为您希望将文件无损地转换为您的 linux SQL 解析器可以处理的内容,可能是 unicode UTF-8。这种转换可以用 iconv 完成(命令行实用程序,我相信也有库)。

不过,一个挑战是您是否知道每个文件的原始编码是什么,因为这不一定会被自动检测到……如果您能让脚本文件的作者为脚本提供指定的编码,可能会更好。

关于sql - WINDOWS转Linux字符集问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42006709/

相关文章:

javascript - X-可编辑简单数据库更新不更新

sql - 优化检索一段时间内项目计数的 SQL 查询

linux - 将多个文件 append 到单个输出文件,但文件之间有消息

sql - DBI 准备好的语句 - 绑定(bind)十六进制通配符字符串

perl - Perl 类方法和对象方法

php - PDO 声称未捕获异常,即使它在 try/catch block 内?

c - 在 Linux 中保护文件不被编辑

linux - Nginx 与 Windows 或 Linux

perl - perl 如何从模块中导入子程序

SQL查询麻烦