我将一些外国字符保存到我的mysql数据库中。这就是我现在正在使用的例子:いち
当我尝试从数据库中回显该列时,它只显示为'??'
为什么在尝试回复外国字符时会出现问号?
答案 0 :(得分:2)
很可能你没有设置正确的Mysql客户端编码
您必须发出SET NAMES <encoding>
查询,其中<encoding>
是您的HTML页面编码。
请注意,没有“外国字符”,只有编码 你必须知道你的角色编码是什么,并在所有三个网络应用程序部分中正确设置:
答案 1 :(得分:0)
您在数据库中使用了哪种编码,以及您通过header()
或HTML向浏览器发送了哪些编码?确保它们与您输入的数据相符。
答案 2 :(得分:0)
您应该更改数据库编码,并将PHP标头中的编码指定为UTF-8。 MySQL允许您选择默认编码,或者基于每个表或每个字段。
header('Content-Type: text/html; charset=UTF-8');
如果您保持数据库的编码和脚本的编码一致,则不应该有任何问题。
答案 3 :(得分:0)
为了支持这些字符,您必须选择
我们选择Unicode / UTF-8,因为这是推荐的标准。你必须确保这些:
accept-charset="utf-8"
添加到<form>
元素。CREATE DATABASE
语法和supported character sets/collations(读取:编码)。你应该选择UTF-8 / Unicode。SET NAMES UTF8
。header('Content-type: text/html; charset=utf-8');