ดึงข้อมูลมาจาก MYSQL แต่อ่านภาษาไทยไม่ได้ ลองทั้ง tis620 utf8 แต่ก็ไม่ยอมอ่าน
คือว่า ผมมีปัญหากับภาษาอ่ะครับ - -*
กระด่านข่าวของผมมันไม่ยอมอ่านภาษาไทยอ่ะครับ มันเป็น ???????
ผมลองใช้ทั้ง tis620 latin และ utf8 มาแล้ว แต่มันก็ยังไม่หายอ่ะครับ
มันเป็นเฉพาะตัวที่ดึงมาจาก Mysql อ่ะครับ เพราะ ปุ่มกดกับอย่างอื่นมันยังคงอ่านได้อยู่
ผมก็ลองเซิสหาดูและทำตามมาหลายเวปแล้วแต่มันยังไม่หาย ก็เลยมาขอความช่วยเหลือ ณ ที่แห่งนี้ ^^
ด้านล่างนี้มีโค๊ดที่ผมคิดว่ามีปัญหานะครับ
Code (PHP)
$rowsPerPage = 3;
$pageNum = 1;
if(isset($_GET['site']))
{
$pageNum = $_GET['site'];
}
$offset = ($pageNum - 1) * $rowsPerPage;
$tname = "news";
$query = "SELECT id,Topic,Newspost,Date,TopicStarter FROM $tname ORDER BY Date DESC LIMIT $offset, $rowsPerPage";
$result = mysql_query("$query")
or die("Table Content Request Failed: " . mysql_error());
if(mysql_num_rows($result) == 0)
{
?>
<i>News Archive is empty</i>
<?
return false;
}
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$date = strftime('%d %B %Y',$row['Date']);
echo '<div class="newstitle"><font size="3.5"><i><u>RE: '.$row['Topic'].'';
if($_SESSION['Admin'] >= 3) { echo '<a href="index.php?page=admin&option=newsedit&newsid='.$row['id'].'"></u></i></font> - <i>Edit News</a> / <a href="index.php?page=admin&option=delete&newsid='.$row['id'].'">Delete Post</a></i></div>';
}else{ echo '</u></i></font></div>'; }
echo '<div class="bodycontent">'.$row['Newspost'].'<br /><br />';
echo '<i>Posted on '.$date.' by <a href="index.php?page=playerinfo&name='.$row['TopicStarter'].'">'.$row['TopicStarter'].'</a></i></div><br /><br /><br /><br />';
}
$page_self = "index.php?page=home";
อันนี้ Database
Code (PHP)
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) NOT NULL auto_increment,
`Topic` varchar(50) NOT NULL,
`Newspost` text NOT NULL,
`Date` int(11) NOT NULL,
`TopicStarter` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Tag : PHP, MySQL
Date :
2010-12-02 20:04:17
By :
santatiger
View :
4374
Reply :
17
Code (PHP)
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
//เพิ่มตั้งแต่ตรงเนี๊ยะ
mysql_query("SET character_set_connection='tis620'");
mysql_query("SET character_set_database=tis620");
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_server='tis620'");
mysql_query("SET character_set_client='tis620'");
mysql_query("collation_connection = tis620_thai_ci");
mysql_query("collation_database = tis620_thai_ci");
mysql_query("collation_server = tis620_thai_ci");
///ถึงตรงเนี๊ยะอ่ะ
$objDB = mysql_select_db("eoffice");
เป็นเหมือนกันพี่ที่ฝึกงานบอกมาน่ะค่ะ
Date :
2010-12-02 20:19:24
By :
pooh2
เฮ ~ อ่านได้แล้วคร๊าบ
ขอขอบคุณ คุณ pooh มากนะครับ ที่ให้ความช่วยเหลือ
Date :
2010-12-04 00:34:16
By :
santatiger
ผมหาวิธีแก้มานานละครับ ขอบคุณมากๆ นะครับ
Date :
2011-11-10 14:51:22
By :
Blue_i
ของผมยังไม่ได้เลยครับ
Code (PHP)
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
ฐานข้อมูลเป็น tis620_thai_ci
รบกวนท่านผู้รู้ช่วยผมหน่อยครับ
Code (PHP)
$conn = mysql_connect($hostname,$username,$password) or die ('Error connecting to mysql');
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client='tis620'");
mysql_query("SET character_set_connection='tis620'");
mysql_query("collation_connection = tis620_thai_ci");
mysql_query("collation_database = tis620_thai_ci");
mysql_query("collation_server = tis620_thai_ci");
mysql_query("SET NAMES 'tis-620'");
$dbname = 'taxi';
mysql_select_db($dbname);
$query = "Select * From T_Car Order By Title";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
$I++;
$Rate=($PerOil*$row["Kilo"])+$AddPrice;
?>
<tr>
<td align="center" valign="top" class="Text3"><?php echo $I;?></td>
<td align="left" valign="top"><span class="Text3"><?php echo $row["Title"];?></span></td>
<td align="left" valign="top"><span class="Text3"><?php echo $row["CarName"];?>่</span></td>
<td align="center" valign="top"><span class="Text3"><?php echo $row["CarType"];?></span></td>
<td align="right" valign="top"><span class="Text-Red-Bold"><?php echo $Rate;?></span></td>
<td align="center" valign="top"><a href="booking.php"><img src="images/booking-taxi.gif" alt="Booking Sedan Taxi Service" width="70" height="19" border="0" /></a></td>
</tr>
<?Php
}
?>
Date :
2011-12-16 14:58:37
By :
Loo
ถ้าเป็น tis-620 จะต้องใช้เป็น
Code (PHP)
<meta http-equiv="content-type" content="text/html; charset=TIS-620">
ครับ แต่แนะนำให้เป็น UTF-8 ครับ
Date :
2011-12-16 15:55:45
By :
webmaster
เวลา save as ให้เลือก type เป็น UTF-8 ด้วยครับ
Date :
2011-12-17 02:14:59
By :
000su000
Date :
2011-12-17 07:41:13
By :
webmaster
ทำได้แล้วครับไม่ต้องเปลี่ยน หรือเพิ่มอะไรเลยครับ ผมลองลบข้อมูลทั้งหมดที่ Import จาก taxt file ไปยัง mysql Database แล้วทำการสร้างฟอร์มอินพุทใหม่ แล้วคีย์ข้อมูลใหม่ผ่านเว็บเพจ ลงไปยัง database ใหม่ทั้งหมด แล้วดึงข้อมูลออกมาดูก็เป็นภาษาไทยปรกติดีครับ
ขอบคุณทุกๆ ท่านนะครับ
Date :
2011-12-18 02:16:16
By :
Loo
ปัญหาเก่า ก็คือ Data เก่า ๆ ตอนที่ Import คุณจะต้องเลือก Collation ให้ถูกต้องครับ และที่สำคัญเมื่อเปิดด้วย phpMyAdmin จะต้องแสดงภาษาไทยถูกต้องครับ
Date :
2011-12-18 08:06:29
By :
webmaster
เราก็มีปัญหาเรื่องการแสดงผลภาษาไทยเหมือนกันค่ะ ใครก็ได้ช่วยแนะนำทีค่ะ
1. ถ้าใช้ charset เป็น utf-8 เวลาดึงข้อมูลออกมาจาก sql server ภาษาไทยจะเป็นตัวยึกยือ แต่ส่วนของโค้ดแสดงภาษาไทยได้ตามปรกติ
2. ถ้าใช้ charset เป็น tis-620 เวลาดึงข้อมูลออกมาจาก sql server จะเป็นภาษาไทยถูกต้องตามปรกติ แต่ส่วนของโค้ดดันเป็นตัวยึกยือแทนซะงั้น -_-" เพลียใจ
ปล. เราเปลี่ยน charset ในส่วนของโค้ดที่เป็น php นะคะ
รบกวนผู้รู้ช่วยทีเถอะค่ะ ติดอยู่กะเรื่องนี้มานานแล้ว ถ้าจะให้เลี่ยงโดยการไม่ให้ใช้ภาษาไทยเลยก็ไม่ใช่เหตุอ่ะค่ะ -_-"
Date :
2013-04-29 14:38:31
By :
กระต่าย
ใน dream ก็มีนะครับ ไปที่ preference แล้วเลือก type อะไรสักอย่าง(มันอยู่แถบแถวๆนั้นละครับ ลองหาดู ) เลือกเป็น utf-8 ได้เลย อิอิ
Date :
2013-04-29 15:12:05
By :
GVcs
Load balance : Server 05