gpt4 book ai didi

php - MySQL DB - 保存特殊字符★

转载 作者:行者123 更新时间:2023-11-30 00:51:29 25 4
gpt4 key购买 nike

  1. 我在 MYSQL 中有一个表。它被定义为字符集 - utf8,排序规则:utf8_general_ci。 ITEM_TITLE 列定义为 varchar。

  2. 我有这个疑问:
    更新详细信息设置ITEM_TITLE ="★32GB 超值包★ Sony Xperia miro ST23i 4GB Int 白色配银色"地点 TaskID =109

  3. 结果是,在 ITEM_TITLE 列中,我的标题不带 ★ 且带有“?”相反。

问题:为了正确地将“★”保存在数据库中,我应该做什么?

**我找到了 SQL Server 的解决方案 - 使用 Nvarchar 而不是 varchar,但 MySQL 中没有这种类型。

答案:我了解问题所在,以及为什么对某人有效的解决方案对我不起作用。首先,我的数据库的默认字符集是拉丁字符集。所以我将其更改为UTF-8,但并没有解决问题。原因是我的大部分行都有一个拉丁字符集。我不知道它是自动为 varchar 设置的,即使我将表设置为 UTF-8 也不会改变。所以我将所有内容都更改为 UTF-8 并且它可以修复。

感谢您的帮助!

最佳答案

这应该没有问题。我们来试试吧

mysql> CREATE TABLE details (    ->   id int(11) unsigned NOT NULL AUTO_INCREMENT,    ->   item_title varchar(255) DEFAULT NULL,    ->   PRIMARY KEY (id)    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;Query OK, 0 rows affected (0.02 sec)mysql> INSERT INTO details (item_title) VALUES('★32GB VALUE PACK★ Sony Xperia miro ST23i 4GB Int');Query OK, 1 row affected (0.01 sec)mysql> SELECT * FROM details;+----+------------------------------------------------------+| id | item_title                                           |+----+------------------------------------------------------+|  1 | ★32GB VALUE PACK★ Sony Xperia miro ST23i 4GB Int     |+----+------------------------------------------------------+1 row in set (0.00 sec)

因此,您很可能在进出数据库的过程中破坏这些字符。

关于php - MySQL DB - 保存特殊字符★,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20935278/

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