【问题标题】:How to store unicode in MySQL?如何在 MySQL 中存储 unicode?
【发布时间】:2011-03-20 17:29:05
【问题描述】:

如何在免费版 MySQL 中存储 Unicode?

似乎没有 SQL Server 中的 nvarchar 类型。 MySQL 不支持 Unicode 吗?我尝试使用text,但这也不起作用。

【问题讨论】:

    标签: mysql unicode


    【解决方案1】:

    您需要为您的表格选择一个utf8_* 字符集。文本和备注字段将自动以 UTF-8 存储。 mySQL 6 即将支持 UTF-16。

    【讨论】:

    【解决方案2】:

    给定字符串列(CHARVARCHAR*TEXT)的字符集由其character set and/or collation 确定。这是一个非常激烈的话题,所以最好阅读我链接的文档。例如:

    CREATE TABLE t1
    (
        col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci
    )
    

    将创建一个带有col1 的表t1,以UTF-8 编码存储其内容。

    【讨论】:

    • 很好的解释和例子。谢谢@Stefan Gehrig
    • 这个例子真的很有帮助。谢谢斯特凡 :-)
    【解决方案3】:

    您是否尝试在连接后设置名称?尝试存储 unicode 字符的结果是什么?连接到 mysql 服务器并输入:

    SET NAMES UTF8;
    

    这应该打开对 utf8 的“支持”。然后尝试存储 utf 数据。

    【讨论】:

      【解决方案4】:

      使用这个查询

      alter table `DBNAME`.`TblName`  Engine=InnoDB checksum=1 comment='' delay_key_write=1 row_format=dynamic charset=utf8 collate=utf8_unicode_ci 
      

      【讨论】:

      • “使用这个查询”没有解释是一个错误的答案。
      【解决方案5】:

      我遵循自己的编码风格,所以在跟随我的领导时请考虑到这一点。

      首先我创建了 MySql 数据库。

      创建数据库后,在mysql命令提示符下输入命令:

      SET NAMES = UTF8;
      

      存储 unicode 的表和列将使用排序规则属性设置为 utf8-utf_general_ci。每一列要存储 unicode,都将被选中并将 collat​​ion 属性设置为 utf8-utf_general_ci。

      现在在 C# 中。

      我的连接字符串像往常一样设置,但添加了一个这样的属性:

      constring = @"SERVER=localhost;" + @"PORT=3306;" + @"DATABASE=gayakidb;" + @"UID=root;" + @"PASSWORD=mysql;" + @"charset=utf8;";
      

      接下来,在系统操作系统的“显示语言设置”中安装 unicode 字体。或者,您可以将字体文件(真类型文件)复制粘贴到操作系统的Fonts文件夹中。

      然后我在属性页中设置文本框对象或任何其他工具对象的字体属性。

      此外,如果您需要使用键盘输入 unicode 字体,则需要为键盘布局安装 unicode 语言。这可以使用操作系统的区域语言设置选项来完成。

      完成。通过这些设置,我编写了用于保存数据的模块,并且在运行 ocde 时,它​​成功完成了工作。

      【讨论】:

        【解决方案6】:
        • MySQL supports UTF-8。
        • 使用 varchar 并为列设置编码(在 phpMyAdmin 中非常简单)

        http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html - 我想这对你有帮助

        【讨论】:

          猜你喜欢
          • 2014-01-08
          • 2015-06-04
          • 2012-09-06
          • 2011-02-11
          • 1970-01-01
          • 2011-07-06
          • 2018-12-05
          • 2018-12-14
          • 2021-08-22
          相关资源
          最近更新 更多