在我的网站上,很多用户都有外国名字,他们最近购买的聊天脚本很有趣,我想知道是否有任何PHP功能或任何可以解决它的东西。
请注意它们是如何搞笑的,它们是如何存储在数据库中的。
AliciaCarreño Geneviève
例如。
那么如何使用php来使这些看起来正确呢?
由于
编辑:当使用MYSQL时,它们看起来是正确的,但是当粘贴到html本身或回显时没有编辑2:
我在phpmyadmin中运行了这个:“mysqldump -h localhost -u root -p --opt --quote-names \ --skip-set-charset --default-character-set = latin1 general>一般dump.sql “
错误是:“#1064 - 您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'mysqldump -h localhost -u root -p --opt附近使用正确的语法 - 在第1行“--quot-names \ --skip-set-charset”
编辑3:
<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'];
?>
答案 0 :(得分:1)
至少有六个地方编码/字符集可能是错误的,而且很难说哪一个是错误的。通常有几个。所以我建议先阅读this article about Unicode。它不是最短的,但它将是你编程生涯中最有价值的20分钟之一。在那之后,并仔细思考,你应该能够确定问题的来源和解决方案。
答案 1 :(得分:0)
他们很可能在您的数据库中存储不正确。使用Adminer,PHPMyAdmin或查询字符串将字段,表或数据库(我推荐后者)更改为utf8_general_ci
。您可能使用默认的latin
- 某种编码,它不支持UTF8字符。
您尝试在OP中的PHPMyAdmin中运行的命令必须从控制台运行;它不是SQL查询,因此语法错误。尝试使用PHPMA的内置导出和导入选项卡导出和导入数据。
答案 2 :(得分:0)
您需要将数据库连接设置为UTF-8,告诉数据库将发送给它的数据是UTF-8,从它返回的数据应该是UTF -8:
$connection = mysql_connect('localhost', 'root', '');
mysql_set_charset('utf8', $connection);