在 forma swe7 中按 php 在 Maria 数据库中插入数据
Insert data by php on Maria db in forma swe7
我在 swe7 的 MariaDB 中格式化了一个 table 的字段,以托管来自瑞典字母表的字符串。然而,当我尝试在我的 php 脚本中输入它们时,我收到错误消息:
error INSERT INTO palette (number, address, latitude, longitude, timestamp) VALUES ('7470618', "Östersund Tallbacksvägen", 63.18874861617303, 14.6445424430311, 1440249233) ON DUPLICATE KEY UPDATE number='7470618', address="Östersund Tallbacksvägen", latitude=63.18874861617303, longitude=14.6445424430311, timestamp=1440249233 error:Incorrect string value: '\xC3\x96ster...' for column 'address' at row 1
当我直接在数据库上执行查询时,查询正确执行并插入了行。所以我认为问题出在 php 脚本中,可能是它的字符串格式,但我不知道如何调整它。
感谢您的支持
C396
是 utf8 十六进制编码 Ö
你想使用 swe7
因为你有这样编码的数据吗?
SET NAMES swe7
(或等效)从您的客户端连接到 mysql。
- 对于表格中的
CHARACTER SET
,您可以使用 utf8 或 swe7。使用 utf8,您可以处理其他语言。
- 如果输出在网页上,请务必指定适当的
<meta...charset>
。 (我不知道在那种情况下如何拼写 'swe7'。)
或者您有其他想要 swe7 的原因吗?
已添加
计划 A:始终使用 swe7
-- 名称集、字符集、html 元。
B 计划:SET NAMES swe7
和 html 元字符集的合适值,但表中 CHARACTER SET utf8
。
无论哪种方式,客户端都只会看到 swe7 编码。
好的,解决方案是使用 utf8 并执行两个命令:
$mysqli->query("SET NAMES utf8");
mysqli_set_charset('utf8');
此时 sql table 中的编码与 utf8 和 swe7 无关。
不过,用 swe7 这样做是行不通的。
我在 swe7 的 MariaDB 中格式化了一个 table 的字段,以托管来自瑞典字母表的字符串。然而,当我尝试在我的 php 脚本中输入它们时,我收到错误消息:
error INSERT INTO palette (number, address, latitude, longitude, timestamp) VALUES ('7470618', "Östersund Tallbacksvägen", 63.18874861617303, 14.6445424430311, 1440249233) ON DUPLICATE KEY UPDATE number='7470618', address="Östersund Tallbacksvägen", latitude=63.18874861617303, longitude=14.6445424430311, timestamp=1440249233 error:Incorrect string value: '\xC3\x96ster...' for column 'address' at row 1
当我直接在数据库上执行查询时,查询正确执行并插入了行。所以我认为问题出在 php 脚本中,可能是它的字符串格式,但我不知道如何调整它。
感谢您的支持
C396
是 utf8 十六进制编码 Ö
你想使用 swe7
因为你有这样编码的数据吗?
SET NAMES swe7
(或等效)从您的客户端连接到 mysql。- 对于表格中的
CHARACTER SET
,您可以使用 utf8 或 swe7。使用 utf8,您可以处理其他语言。 - 如果输出在网页上,请务必指定适当的
<meta...charset>
。 (我不知道在那种情况下如何拼写 'swe7'。)
或者您有其他想要 swe7 的原因吗?
已添加
计划 A:始终使用 swe7
-- 名称集、字符集、html 元。
B 计划:SET NAMES swe7
和 html 元字符集的合适值,但表中 CHARACTER SET utf8
。
无论哪种方式,客户端都只会看到 swe7 编码。
好的,解决方案是使用 utf8 并执行两个命令:
$mysqli->query("SET NAMES utf8");
mysqli_set_charset('utf8');
此时 sql table 中的编码与 utf8 和 swe7 无关。
不过,用 swe7 这样做是行不通的。