首页
学习
活动
专区
圈层
工具
发布

整流utf-8
EN

Stack Overflow用户
提问于 2012-01-21 09:50:10
回答 3查看 169关注 0票数 0

在我的网站上,很多用户都有外国名字,他们为了我最近买的一个聊天脚本而表现得很有趣,我想知道有没有什么php功能或者其他东西可以解决这个问题。

请注意它们是如何变得有趣的,它们是如何存储在数据库中的。

Alicia Carre±o Genevi¨ve

例如。

那么,我如何使用php来使这些代码看起来正确呢?

谢谢

编辑:当使用MYSQL时,它们看起来是正确的,但当粘贴到html本身或回显出来时就不正确了。

编辑2:

我在phpmyadmin中运行了以下命令:"mysqldump -h本地主机-u根-p --opt --quote-names \ --skip-set-charset --default-character-set=latin1 general > general-dump.sql“

错误是:"#1064 -您的SQL语法中有一个错误;请查看与您的MySQL服务器版本相对应的手册,了解要在第1行使用'mysqldump -h localhost -u root -p --opt --quote-names \-skip-set-charset‘的正确语法“

编辑3:

代码语言:javascript
复制
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<?php       
$connection = mysql_connect('localhost','root','');
$select = mysql_select_db('general',$connection);
$result = mysql_query('SELECT name FROM exchange WHERE `id`= 192');
$results = mysql_fetch_assoc($result);
echo $results['name'];


?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-21 10:44:04

您需要将数据库连接设置为UTF-8,以告知数据库将以UTF-8格式发送数据,而从数据库返回的数据应采用UTF-8格式:

代码语言:javascript
复制
$connection = mysql_connect('localhost', 'root', '');
mysql_set_charset('utf8', $connection);

参见http://php.net/manual/en/function.mysql-set-charset.php

票数 0
EN

Stack Overflow用户

发布于 2012-01-21 10:35:50

至少有六个地方的编码/字符集可能会出错,很难说是哪一个造成的。通常有几个。因此,我建议从阅读this article about Unicode开始。它不是最短的,但它将是你编程生涯中最有价值的20分钟之一。在此之后,经过仔细的思考,您应该能够确定问题的根源和解决方案。

票数 1
EN

Stack Overflow用户

发布于 2012-01-21 09:54:20

它们很可能错误地存储在您的数据库中。使用Adminer、PHPMyAdmin或查询字符串将字段、表或数据库(我推荐后者)更改为utf8_general_ci。您可能使用默认的latin-something编码,该编码不支持UTF8字符。

您试图在OP中的PHPMyAdmin中运行的命令必须从控制台运行;它不是SQL查询,因此出现了语法错误。尝试使用PHPMA内置的导出和导入选项卡来导出和导入数据。

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

https://stackoverflow.com/questions/8950041

复制
相关文章

相似问题

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