php 中文乱码问题,请给小弟一点意见
时间:2013-05-23
来源:互联网
上网睇过好多呢个问题既教学都解决唔到。
请问我有咩做漏左。
情况系: 用php 由mysql内既拉出黎既中文record会变做 "???"
用sql call 既就正常出中文,
php script内, 非mysql既资料,中文正常显示。
[tr=rgb(223,][/tr]
character set client | utf8 | |
character set connection | utf8 | |
character set database | utf8 | |
character set filesystem | binary | |
character set results | utf8 | |
character set server | utf8 | |
character set system | utf8 | |
character sets dir | /usr/syno/mysql/share/mysql/charsets/ | |
collation connection | utf8_unicode_ci | |
(Session value) | utf8_general_ci | |
collation database | utf8_unicode_ci | |
collation server |
utf8_unicode_ci |
database 内,我见到既setting 都已改做 UTF-8
[tr=rgb(223,][/tr]
character set client | utf8 | |
character set connection | utf8 | |
character set database | utf8 | |
character set filesystem | binary | |
character set results | utf8 | |
character set server | utf8 | |
character set system | utf8 | |
character sets dir | /usr/syno/mysql/share/mysql/charsets/ | |
collation connection | utf8_unicode_ci | |
(Session value) | utf8_general_ci | |
collation database | utf8_unicode_ci | |
collation server |
utf8_unicode_ci |
php script 内已加
<head>
<meta HTTP-EQUIV="Content-Type" C></head>
Script 内跟网上教学加呢两句
mysql_query("SET NAMES 'UTF8'");mb_internal_encoding ('utf-8');
都无分别。
script 如下--------------------------------- echo "颜-色: ";
echo $row['Color'];
--------------------------------
page display 如下
---------------------------------
Batch: 1320248
颜色: ???
---------------------------------
请问我系咪仲有野做漏呢?
[ 本帖最后由 oprso 於 2013-5-23 10:46 AM 编辑 ]
作者: oprso 发布时间: 2013-05-23
有任何需要可以PM我
希望帮到你.
作者: DevMark 发布时间: 2013-05-23
引用:
原帖由 oprso 於 2013-5-23 10:45 AM 发表小弟第一次搅呢d野,中文出 "???"
上网睇过好多呢个问题既教学都解决唔到。
请问我有咩做漏左。
情况系: 用php 由mysql内既拉出黎既中文record会变做 "???"
用sql call 既就正常出中文,
php script内, ...
中的 default encoding settings 。
另外 MySQL 中,建议用 utf8_bin 。因为 *_ci 中的 ci 代表 case insensitive 。
作者: xianrenb 发布时间: 2013-05-23
引用:
原帖由 DevMark 於 2013-5-23 12:07 发表档案编写另存时是否已设定为 UTF-8
有任何需要可以PM我
希望帮到你.
写php时同notepad 写的,已经系用utf-8 黎save。都系唔得。
[ 本帖最后由 oprso 於 2013-5-23 01:22 PM 编辑 ]
作者: oprso 发布时间: 2013-05-23
引用:
原帖由 xianrenb 於 2013-5-23 13:15 发表可参考 https://code.google.com/p/myquicknet/source/browse/src/html/testing/advance_example.html 中的 meta tag 、https://code.google.com/p/myquicknet/source/browse/src/php_class/com/googlecode/myquicknet/database/MQNDatabaseMySQLi.php 中的 connect() method ,及 https://code.google.com/p/myquicknet/source/browse/src/config.php
中的 default encoding settings 。
另外 MySQL 中,建议用 utf8_bin 。因为 *_ci 中的 ci 代表 case insensitive 。
作者: oprso 发布时间: 2013-05-23
希望帮到你
作者: DevMark 发布时间: 2013-05-23
引用:
原帖由 DevMark 於 2013-5-23 14:34 发表或者将你代码放上来.谢谢
希望帮到你
我对php 咩都唔识,试完又试先整到条script有反应,call到data出黎。
条script中间好多垃圾 // 左,全部都试过,行同唔行,试下可唔可以整番中文出黎。但都系唔得。个mysql server, webserver都系系一个synology NAS到行。我亦试过叫我老友将个database搬左去佢个webhost,全部野由佢个边行,出黎既output都系同样出 "???"
<head><meta HTTP-EQUIV="Content-Type" C></head>
<?php
$username = "hfhf";
$password = "";$
hostname = "192.168.0.11";
$DB = "HF";
$Wnumber = $_GET['Wnum'];
//echo "$Wnumber ";//Connect to the database$con=mysqli_connect($hostname, $username, $password, $DB);
//mysql_select_db($DB, $con);
//Set database to Big5//mysql_query("SET NAMES 'utf8'",$con);
mysql_query("SET NAMES 'UTF8'");mb_internal_encoding ('utf-8');
//mysql_query ($con, "SET CHARACTER SET 'utf-8'");
//mysql_query ($con, "SET NAMES 'utf-8'");
// Check connectionif (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error();
}echo "Connected to MySQL: <br>";
echo "$DB<br><br>";
$result = mysqli_query($con,"SELECT * FROM Card WHERE Wnumber='$Wnumber'");
while($row = mysqli_fetch_array($result)) { echo $row['Batch']." <br> " . $row ['Cnumber']."<br>". $row['Customer'];
echo "<br>"; echo "<br>"; echo "Color Number: "; echo $row['ColorNumber']; echo "<br>"; echo "Batch: "; echo $row['Batch']; echo "<br>"; echo "颜色: "; echo $row['Color']; echo "<br>"; }?>.
---------------------------------------
以下系行呢条script出黎既output
---------------------------------------
Connected to MySQL:
HF
12C0827
????
Color Number: 613
Batch: 12C0827
颜色: ??
---------------------------------------
[ 本帖最后由 oprso 於 2013-5-23 02:57 PM 编辑 ]
作者: oprso 发布时间: 2013-05-23

作者: oprso 发布时间: 2013-05-23

作者: oprso 发布时间: 2013-05-23
[ 本帖最后由 DevMark 於 2013-5-24 12:17 PM 编辑 ]
作者: DevMark 发布时间: 2013-05-23
若有问题再加
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
作者: DevMark 发布时间: 2013-05-23
引用:
原帖由 oprso 於 2013-5-23 02:59 PM 发表ok this should be easier.
2506686
http://www.php.net/manual/en/mysqlinfo.api.choosing.php
新应用应全数采用 mysqli。
作者: xianrenb 发布时间: 2013-05-23
引用:
原帖由 DevMark 於 2013-5-23 16:11 发表因若MYSQL 设定好, 印出该没有问题.
若有问题再加
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
作者: oprso 发布时间: 2013-05-23
引用:
原帖由 xianrenb 於 2013-5-23 17:27 发表看来是因为你混合了 mysql_*() 及 mysqli_*() 两种 API 。
http://www.php.net/manual/en/mysqlinfo.api.choosing.php
新应用应全数采用 mysqli。
我系网上左抄右抄得黎的,最后佢行到我又唔知佢有咩分别,行到就无理佢。请问我应该用边句先岩呢?
作者: oprso 发布时间: 2013-05-23
引用:
原帖由 oprso 於 2013-5-23 06:18 PM 发表我都有留意到呢个问题。
我系网上左抄右抄得黎的,最后佢行到我又唔知佢有咩分别,行到就无理佢。请问我应该用边句先岩呢?

写程式一定要理解所写的功能是什么才可。
不然有 bug 就永远不知道错什么。
努力的花点时间看 php.net 的资料吧!
作者: xianrenb 发布时间: 2013-05-24
引用:
原帖由 xianrenb 於 2013-5-24 09:17 发表全数采用 mysqli 就 ok 。
写程式一定要理解所写的功能是什么才可。
不然有 bug 就永远不知道错什么。
努力的花点时间看 php.net 的资料吧!
作者: oprso 发布时间: 2013-05-24
引用:
原帖由 DevMark 於 2013-5-23 16:11 发表因若MYSQL 设定好, 印出该没有问题.
若有问题再加
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
咁到底我个问题发生左系边呢?
呢条script 出到中文

作者: oprso 发布时间: 2013-05-24
故请将row 全部改为rows
希望帮到你
作者: DevMark 发布时间: 2013-05-24
引用:
原帖由 DevMark 於 2013-5-24 12:16 发表抱歉,因草率做出来,没有完善检查
故请将row 全部改为rows
希望帮到你

作者: oprso 发布时间: 2013-05-24
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28