php - 在 MYSQL 数据库中存储多语言/unicode 字符(泰语、印地语、菲律宾语)

标签 php mysql database unicode multilingual

<分区>

我有一个 MySQL 数据库。我创建了一个具有以下定义的表,它支持多种语言(印地语、泰语等)。

CREATE TABLE test_multi_lang
(
   language_name varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci
)

INSERT INTO test_multi_lang
(language_name )
VALUES
('ตัวอย่าง')

INSERT INTO test_multi_lang
(language_name )
VALUES
('नमूना') 

但是当我选择数据的时候。它将所有数据显示为 ??????

SELECT * FROM test_multi_lang

示例图片

我该如何解决这个问题?

提前致谢。

最佳答案

这不是 MySQL 的错:数据没有在您的客户端程序中正确输出。这是它在我的 Linux Slackware 机器上的样子。原生 MySQL 控制台:

mysql> CREATE TABLE test_multi_lang
(
   language_name varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci
);

Query OK, 0 rows affected (0.35 sec)

mysql> insert into test_multi_lang
(language_name )
values
('ตัวอย่าง');


mysql> SELECT * FROM test_multi_lang;
+--------------------------+
| language_name            |
+--------------------------+
| ตัวอย่าง                 |
+--------------------------+

mysql>  SET NAMES latin1;

mysql> SELECT * FROM test_multi_lang;
+---------------+
| language_name |
+---------------+
| ????????      |
+---------------+

mysql>  SET NAMES utf8;

mysql> SELECT * FROM test_multi_lang;
+--------------------------+
| language_name            |
+--------------------------+
| ตัวอย่าง                 |
+--------------------------+

你看:我们一使用SET NAMES latin1,我们就得到了问号。尝试使用控制台应用程序连接到 MySQL,并使用 SET NAMES utf8

作为manual说:

SET NAMES indicates what character set the client will use to send SQL statements to the server... It also specifies the character set that the server should use for sending results back to the client.

关于php - 在 MYSQL 数据库中存储多语言/unicode 字符(泰语、印地语、菲律宾语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30660607/

相关文章:

mysql - R MYSQL写表删除某些列

sql-server - SAN 上的数据共享卷(多个 MDF)和另一个日志共享卷(多个 LDF)

mysql - 'on clause' 中的未知列

php - Symfony2 - 从 Controller 到监听器的变量

php - 如何使用给定的 X、Y、宽度和高度坐标在 php 中裁剪图像

php - 有趣的是,数据没有插入到 mysql 表中

mysql - 脚本出现错误

php - 从表中删除重复项,其中有两个变量需要考虑

php - MYSQL Left-Join 表选择数据问题-逻辑错误

php 用户 ID 分配不起作用