|
|
|
ขอถามคับ ทำไมผมลงโฮสต้องเป็นภาษาแบบนี้คับ เสื้อค�� |
|
|
|
|
|
|
|
ใช้
Code (PHP)
mysql_query("SET NAMES UTF8");
ใส่ไว้หลังคำสั่ง mysql_connect ตัวที่จะเรียกติดต่อฐานข้อมูลนะครับ
เช่นของผมเป็นแบบนี้
Code (PHP)
$conn = mysql_connect ($ServerName,$UserName,$UserPassword);
mysql_query("SET NAMES UTF8"); //เอาแต่บรรทัดนี้ครับ
|
|
|
|
|
Date :
2013-09-12 12:39:41 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีหลายสาเหตุนะครับ
1. การประกาศ Charset บน Meta ใน head
2. การดึงข้อมูลจากฐานข้อมูล อาจจะลืมตั้งค่า encode ไว้ด้วย
ประมาณนี้ครับ
|
|
|
|
|
Date :
2013-09-12 12:42:10 |
By :
ALTELMA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ปัญหาภาษาไทย php กับ MySQL (TIS-620 กับ UTF-8)
|
|
|
|
|
Date :
2013-09-12 12:42:46 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อาการ ไทยครึ่งต่างดาวครึ่ง ยังกับ driver ติดต่อ database ไม่ support utf8 เลยเนอะ
เคยเจอแบบนี้ตอนเขียน ruby แต่ php ไม่เคยเจอ กรณีของ php ถ้า encode ไม่ถูก
ไม่เป็น ?? ก็ต่างดาวทั้งหน้า
|
|
|
|
|
Date :
2013-09-12 14:19:38 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$conn = mysql_connect ($ServerName,$UserName,$UserPassword);
mysql_query("SET NAMES UTF8"); //เอาแต่บรรทัดนี้ครับ
เอาโค้ดนี้ไปแทรก แล้วลอง insert ข้อมูลเข้าไปใหม่ ไม่หายเหรอครับ
ผมก็เคยเป็นนะ ตอนพึ่งโฮสฟรีของต่างประเทศ ใส่ตัวนี้ไปก็หายนะครับ
ถ้า ใช้ไฟล์ connect ตัวเดียวแล้ว includeเอา หรือเปล่าครับถ้าไช่ก็แก้ที่เดียวเลย . ..
แต่ถ้าไปเขียน ตัว connect DB ไว้ทุกๆไฟล์อาจจะต้องตามไปแก้ในทุกๆไฟล์ซึ่งก็ยุ่งยากหน่อยนะครับ .. .
|
|
|
|
|
Date :
2013-09-12 15:13:17 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กรณี php เราไม่เคยเจออาการแบบนี้นะ เพราะปกติเราจะ encode ทุกอย่างเป็น utf8
งั้นเราขอข้อมูลเพิ่มเติมแล้วกัน
- database อะไร encode utf-8 ไว้ไหม (เราว่านายใช้ uft8 นะ แต่เราถามเพื่อความมั่นใจ)
- web server อะไร (apache หรือ iis)
- php version ไหน
- ขอดูโค้ด connect database หน่อย
|
|
|
|
|
Date :
2013-09-12 15:20:18 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้ายังไม่ได้อีก ลองพวก iconv ดูครับ
|
|
|
|
|
Date :
2013-09-12 18:25:38 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รันในเครื่องไม่มีปัญหา งั้นตัดปัญหาเรื่องโค้ดออกไป
เหลือปัญหาฝั่ง server
นายลองตรวจสอบ server ดูให้หน่อยสิ
ลองรันโค้ดนี้
<?php
echo "Server info: {$_SERVER['SERVER_SOFTWARE']}<br />";
echo "PHP version: " . phpversion() . "<br />";
$link = mysql_connect($host, $user, $pw);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo "MySQL server version: " . mysql_get_server_info();
?>
|
|
|
|
|
Date :
2013-09-13 07:47:43 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูจาก version ต่างๆ ก็ไม่น่ามีปัญหาอะไร
งั้นตัดปัญหาเรื่องใช้ version เก่าทิ้งไปอีกตัว
เหลือที่จะตรวจอีกอันแล้วแหละ ถ้าอันนี้ไม่ได้นี่เราก็มืด 8 ด้านเหมือนกัน
ไม่รู้ server นายได้ enable pdo ไว้ไหม
เราอยากลองให้นายเปลี่ยนตัว driver ดู ลองใช้ pdo ดูว่าจะเป็นภาษาต่างดาวอีกหรือเปล่า
ลองเอาไปรันดู
Code (PHP)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$host = 'localhost';
$dbname = 'db_ecom';
$user = 'root';
$password = 'root';
$dbh = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8;", $user, $password);
$query = "SELECT .........;"; // query เอง
$stmt = $dbh->prepare($query);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['...........'] . '<br />'; // column ที่มีภาษาไทย
}
?>
</body>
</html>
ถ้าไม่ได้ enable pdo ไว้ก็ลอง mysqli ดู
Code (PHP)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$mysqli = new mysqli($host, $user, $password, $dbname);
$mysqli->set_charset("utf8");
$query = "SELECT .........;"; // query เอง
$stmt = $mysqli->prepare($query);
$stmt->execute();
while ($row = $stmt->fetch_assoc()) {
echo $row['...........'] . '<br />'; // column ที่มีภาษาไทย
}
?>
</body>
</html>
ถ้าทั้งสองตัวไม่ได้ enable ไว้ แต่นายเป็น admin server ก็ไป enable ซะ แต่ถ้าไม่ใช่ก็จบเลยนะ
ต้องติดต่อ admin server อย่างเดียว
เอาไปลองดูนะ เอาใจช่วย
|
|
|
|
|
Date :
2013-09-13 12:13:26 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาเป็นว่าเราเดาว่านายซื่อก็อปโค้ดเราทั้งดุ้นแล้วกัน
จุด จุด จุด ที่เราเว้นไว้ให้เติมนี่นายได้เติม query string ลงไปหรือเปล่า
ส่วน จุด จุด จุด อันที่ 2 ใส่เป็นชื่อ column
ถ้าเราเดาผิดก็ขอโทษด้วย
|
|
|
|
|
Date :
2013-09-13 15:30:32 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้ิีกหรือครับเนี่ย ผมว่าแก้เท่านี้มันก็ได้แล้วนะกรณี ลูกครึ่งไทยต่างดาว ลองแก้ดูสิครับ
แล้วไปลอง INSERT ข้อมูลเข้าไปใหม่ . . .. .
Code (PHP)
<?
$host="localhost";
$user="root";
$pw="root";
$dbname="db_ecom";
$c = mysql_connect($host,$user,$pw);
mysql_query("SET NAMES UTF8");
if (!$c) {
echo "<h3>ERROR : ติดต่อฐานข้อมูลไม่ได้</h3>";
exit();
}
?>
ถ้าไมไ่ด้ขอดู Full file ที่ใช้ connect DB ไฟล์ด้านบนนี่เหละครับเอาแบบทุกตัวอักษร
|
|
|
|
|
Date :
2013-09-13 20:16:48 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.เปิดดู PhpMyadmin ในโฮสที่ฝากไว้ ครับว่าไอ้ที่เราใส่เข้าไปเป็นต่างดาวมาตั้งแต่ขั้นตอนโน้นเลยไหม
เพราะผมเคยฝากกับโฮสฟรีต่างประเทศ ก็เป็นเหมือนกันนี่เหละ อาการคือ เข้าดูใน PhpMyadmin ขึ้นต่างดาวเต็มร่าง เสื้à¸
à¸à¸²à¸‡à¹€à¸à¸‡ แต่ดูในบาร์วเซอเป็นลูกครึ่ง เสื้อค�� แบบนี้เหละ ผมแค่ใส่ mysql_query("SET NAMES UTF8"); เข้าไปมันก็หายนะครับ . . . อยากรู้จริงๆว่าโฮสที่ไหนฟรีหรือเสียเงินจะลองไปใช้ดู 5 5 5
|
|
|
|
|
Date :
2013-09-13 21:39:47 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โฮสตัวที่ว่าใน PM มานี้ ผมเคยใช้อยู่ ไม่มีปัญหาอะไรนะครับ ก็ใช้งานได้ดี . . . . ลองปรึกษา ฝ่ายบริการลูกค้าเค้าดูสิครับ เค้าบริการดีนะไม่เกิน 5 นาทีตอบ (ในเวลาราชการ) . . . . . .
แต่ผมมีเรื่องขุ่นเคืองกับโฮสเจ้านี้อยู่ อยากจะบอกว่ามันแกล้งผม(หรือเปล่านะ) เรื่องมันนานมาแล้ว เรื่องมีอยู่ว่าร้อยวันพันปี server เค้าไม่เคยล่มเลย มาล่มเอาตอนผมเอางานขึ้นเสนอผู้บริหาร Ship!!! 5 นาีทีก่อนขึ้นไปเสนอผมก็เช้คแล้ว พอขึ้นโปรเจคเตอร์เท่านั้นเหละ SERVER PHP เค้าล่มพอดี ตัวโค้ดออกมาเต็มหน้าจอ . . . . ทำเอาผมหน้าแหก 5 5 5 เลยเมลล์ไปด่าแต่ประมาณ 30 นาทีเค้าก็กู้ serverให้เรียบร้อย เหอๆๆยังจำได้ดีจนถึงทุกวันนี้
|
|
|
|
|
Date :
2013-09-14 14:55:27 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วก็ยินดีด้วยนะ พอดีเสาร์อาทิตย์ไม่ได้อยู่เฝ้าบอร์ด
|
|
|
|
|
Date :
2013-09-16 08:36:33 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|