选择带日文字符的MySQL行

Rio*_*Rio 7 mysql phpmyadmin utf-8

有人会知道一个可靠的方法(用mySQL或其他方法)来选择包含日文字符的数据库中的行吗?我的数据库中有很多行,其中一些只有字母数字字符,其中一些有日文字符.

Nic*_*oft 6

想要对字符集有问题的规则:

  1. 创建数据库时,使用utf8编码:

    CREATE DATABASE  _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 确保所有文本文件(varchar和文本)都使用UTF-8:

    CREATE TABLE _test.test (
      id INT NOT NULL AUTO_INCREMENT,
      name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE = MyISAM;
    
    Run Code Online (Sandbox Code Playgroud)
  3. 建立连接时,请在查询/更新数据库之前执行以下操作:

    SET NAMES utf8;
    
    Run Code Online (Sandbox Code Playgroud)
  4. 使用phpMyAdmin-登录时选择UTF-8。

  5. 将网页编码设置为utf-8,以确保所有发布/获取数据都采用UTF-8格式(否则您将不得不痛苦地进行转换。)。PHP代码(php文件中的第一行或至少在任何输出之前):

    header('Content-Type: text/html; charset=UTF-8');
    
    Run Code Online (Sandbox Code Playgroud)
  6. 确保所有查询均以UTF8编码编写。如果使用PHP:

    6.1。如果PHP支持UTF-8中的代码-只需使用UTF-8编写文件即可。

    6.2。如果php是在没有UTF-8支持的情况下编译的,则将字符串转换为UTF-8,如下所示:

    $str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
    $query = 'SELECT * FROM test WHERE name = "' . $str . '"';
    
    Run Code Online (Sandbox Code Playgroud)

那应该做。