0

我有几个使用 VARCHAR 参数作为输入的过程,当我将新数据库上传到我的服务器时,我遇到了将 VARCHAR 参数作为输入的问题。

该存储过程将字符串更改为?(问题唱)

例如我有这个存储过程:

CREATE PROCEDURE `sp_insert`(
IN _title VARCHAR(30))
BEGIN
    INSERT INTO `myTable` SET `title` = _title
;END//

这个查询可能是这样工作的:

插入myTable设置title= '???'

为什么会出现这个问题?

4

1 回答 1

1

如果您在文本中使用 utf8 数据,则在我导入任何数据之前我的数据库不是 utf8 排序规则时会出现此问题。

我必须注意,要记住 utf8 数据库的这 3 个步骤:

  1. 连接必须是“SET NAMES UTF8”
  2. 数据库必须设置 UTF8 排序规则,然后导入数据或插入任何记录
  3. 所有表和 varchar 字段都必须设置 UTF8 排序规则
于 2012-07-31T17:08:52.200 回答