在mysql中存储和显示日语

时间:2014-01-10 00:16:36

标签: php mysql character-encoding

过去两天我一直在读这篇文章。大多数帖子似乎有点旧。 (似乎早于mysql中的utf8mb4编码) 在此刻 我可以使用php从网页插入日文字符。 当我检索数据时,它会在网页中正确显示,但不会在phpmyadmin中显示。

我也可以使用phpmyadmin将日文字符插入数据库,然后在phpmyadmin中正确显示,但如果我检索相同的数据则不在网页上显示。

我将此添加到my.cnf文件

[mysqld]
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4

SHOW VARIABLES LIKE 'char%' gives me

Variable_name   Value
character_set_client    utf8
character_set_connection    utf8mb4
character_set_database  utf8mb4
character_set_filesystem    binary
character_set_results   utf8
character_set_server    utf8mb4
character_set_system    utf8
character_sets_dir          /usr/share/mysql/charsets/

SHOW VARIABLES LIKE 'collation%'

Variable_name   Value
collation_connection    utf8mb4_unicode_ci
collation_database  utf8mb4_unicode_ci
collation_server    utf8mb4_unicode_ci

如何将character_set_client,character_set_results和character_set_system从utf8更改为utf8mb4,这样我才能输入将使用phpmyadmin在网页上正确显示的日语?

旁注是html      适当的还是有一些更接近UTF8MB4的字符集?

谢谢

1 个答案:

答案 0 :(得分:1)

您应该检查HTML文档是否具有与character_set_client和character_set_result(utf8)中设置的编码相同的编码。 如果你有日语的字符串文字,那么包含HTML的文件也必须使用相同的字符集进行编码。