首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用unicode在数据库中输入值

问用unicode在数据库中输入值
EN

Stack Overflow用户
提问于 2011-04-30 22:25:44
回答 4查看 258关注 0票数 1

我想保存在印地语Unicode格式的数据在我的数据库使用PHP。我已经向我的数据库连接页面添加了几行代码。

代码语言:javascript
复制
mysql_query('SET character_set_results=utf8');
mysql_query('SET names=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_results=utf8');
mysql_query('SET collation_connection=utf8_general_ci');

我还在页面中添加了这一行,在这里我输入了Unicode数据,并将其显示为head属性。

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

但我的数据在数据库中存储为‘?’并且还以相同的格式显示。甚至连我的新行字符也被跳过了,数据显示在单行中。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-30 22:35:41

我怀疑您的数据库正在使用不同的字符集。确保使用create your database:

代码语言:javascript
复制
create database something         -- or 'alter database something' in case it exists
default character set utf8
default collate utf8_general_ci

目前,您只是告诉您的查询要以UTF-8编码,但是您的数据库可能仍在使用不同的字符集。

还要确保正确地输出这些数据,也是以UTF-8编码的。

票数 4
EN

Stack Overflow用户

发布于 2011-04-30 22:42:33

您可以在该页面中使用mysql_client_encoding检查数据库的编码:

代码语言:javascript
复制
$link    = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);
echo "The current character set is: $charset";

编码可能不是utf8,但您可以从命令行或phpMyAdmin等工具中使用mysql进行更改。

还请注意,根据php手册,mysql_set_charset比使用查询来设置字符集更可取。

票数 1
EN

Stack Overflow用户

发布于 2011-04-30 22:38:55

AFAIK SET names=utf8不正确,应为SET NAMES 'utf8'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5842368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档