gpt4 book ai didi

php - 如何使用 php 在数据库中插入 ISO-8859-1 字符集值

转载 作者:行者123 更新时间:2023-11-29 10:55:39 26 4
gpt4 key购买 nike

我正在将内容以批量上传格式 (.csv) 插入表中。

在我的 CSV 中,某些列包含特殊字符,但服务器无法将包含特殊字符的行插入数据库并停止执行。

如何插入这些值?

我正在尝试:

$field1= addslashes(trim($data[0]));

我正在使用 mysqli_real_escape_string,它可以工作,但它忽略了字段中的所有特殊字符...

$field2= mysqli_real_escape_string(trim($data[1])); 

最佳答案

不要调用任何转换例程。只需声明 .csv 文件编码为 latin1。使用 LOAD DATA 语句中的此子句执行此操作:

CHARACTER SET latin1

您还没有说明列/表的字符集是什么。请提供SHOW CREATE TABLE。该列可以是 latin1 或 utf8。

此外,使用 mysqli_set_charset 来确定您的客户端代码正在使用哪个字符集。 (它不需要与列/表相同。)

你说“省略特殊字符”。您的意思是数据存储到表中,但字符串在特殊字符处被截断?请参阅 Trouble with utf8 characters; what I see is not what I stored 中的“截断文本” .

你说“停止执行”。这似乎不太可能;请提供更多详细信息,例如导致终止的 SQL、之后是否会运行其他命令、是否需要再次启动(而不是“重新启动”)mysqld。

你说“特殊字符”;让我们看一些例子。您使用转义来获取 $field 变量,但是您随后对这些变量做了什么?

关于php - 如何使用 php 在数据库中插入 ISO-8859-1 字符集值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43067843/

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