有人知道一种可靠的方法(使用 mySQL 或其他方式)来选择数据库中包含日语字符的行吗?我的数据库中有很多行,其中一些仅包含字母数字字符,其中一些包含日语字符。
当您遇到字符集问题时的规则:
-
创建数据库时使用utf8编码:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
确保所有文本字段(varchar 和 text)都使用 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;
-
当您建立连接时,请在查询/更新数据库之前执行此操作:
SET NAMES utf8;
-
使用 phpMyAdmin - 登录时选择 UTF-8。
-
将网页编码设置为 utf-8 以确保所有发布/获取数据都采用 UTF-8(或者您必须这样做,因为转换很痛苦..)。 PHP 代码(php 文件中的第一行或至少在任何输出之前):
header('Content-Type: text/html; charset=UTF-8');
-
确保所有查询均以 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 . '"';
这应该能让它发挥作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)