mysql - 选择带有日语字符的 MySQL 行

标签 mysql utf-8 phpmyadmin

谁知道在数据库中选择包含日文字符的行的可靠方法(使用 mySQL 或其他方式)?我的数据库中有很多行,有些行只有字母数字字符,有些行有日文字符。

最佳答案

遇到字符集问题时的规则:

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

    CREATE DATABASE  _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    
  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;
    
  3. 当您建立连接时,请在查询/更新数据库之前执行此操作:

    SET NAMES utf8;
    
  4. 使用 phpMyAdmin - 登录时选择 UTF-8。

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

    header('Content-Type: text/html; charset=UTF-8');
    
  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 . '"';

这应该使它工作。

关于mysql - 选择带有日语字符的 MySQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360544/

相关文章:

php - mysql 两个不同的查询到两个不同的html表

php - 将 mysql 查询的结果对象获取到函数中的问题

mysql - 在 phpMyAdmin 中,约束在编辑或插入时导致奇怪的下拉菜单

MYSQL 内部加入 2 个 ON 子句

导入大型 sql 文件时 MySQL 服务器消失了

php - 内容标签

mysql - 字符串外键更改的理论错误

php - 将 MySQL 文本字段编码为 UTF-8 文本文件 - 特殊字符问题

需要 MySQL 字符集

linux - 删除文件编码标记但保留其编码