php - 从 CSV 到 MySQL 表再到 Web 的编码和取消编码数据的常见做法/方法

标签 php mysql csv character-encoding

我有一个简单的购物车网站,它使用 MySQL 数据库来存储产品。有数以千计的产品,因此可以通过基于 Web 的界面以及通过生成 TSV 文件、下载、编辑和重新上传然后解析现在更改的 CSV 文件进行正确更改来管理这些项目顺其自然。

现在你可以想象我在字符编码等方面一直面临的噩梦。我的问题是:是否有一种通用的做法,有效的方法来编码 - 存储 - 检索 - 取消编码数据以用于 CSV、MySQL 和 Web平台?

我发现管理员可能会在 CSV 中输入特定描述,该描述只是从某处复制和粘贴而来。该描述可能包含特殊字符,例如版权和商标符号,甚至“幂”和“平方”数学字符。

什么是最好的方法来确保这些特殊字符在数据库中保持完整并且也能够毫无顾虑地显示在网站上,并且当下载为 TSV 文件时它们再次编码回Excel(R) 将显示为特殊字符而不是某些字符代码的格式。

一如既往,我们欢迎任何反馈/指导。

谢谢

最佳答案

只需在流程的每个步骤中使用 UTF-8(在生成 CSV 时使用 UTF-8 BOM,以便 Windows 获取它),您不会有任何问题。

为您的 html 文件和/或服务器 header 提供 UTF-8 编码,为您的表格提供 UTF-8 编码,一切都应该没有问题。

关于php - 从 CSV 到 MySQL 表再到 Web 的编码和取消编码数据的常见做法/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075929/

相关文章:

php - 如何在 php 中将 Json 转换为 CSV

php - 无需表格即可获取 Codeigniter CSRF token ?

php - 新手 ajax (jquery) 问题

php - 更新 php 破坏了德语 Codeigniter 1 站点中的 UTF-8 编码

MySQL SELECT 模式替换为另一个表中的结果

python - python pandas 从现有 csv 文件创建多个 csv 文件

php - MySQL 两个数据库,在一种情况下按一列排序,在不同情况下按另一列排序

mysql - 为什么带有 InnoDB 的 MySQL 在键存在时进行表扫描并选择检查 70 倍以上的行?

java - 带有 Hibernate 的 Jasper - 找不到实体类

csv - 以 CSV 格式下载公共(public) Google 电子表格?