Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,030

HOME > PHP > PHP Forum > จาก Ajax List Record Paging (PHP+MySQL & ASP+Access) ว่ามันดึง db แล้วภาษาที่แสดงไม่เป็นภาษาไทย



 

จาก Ajax List Record Paging (PHP+MySQL & ASP+Access) ว่ามันดึง db แล้วภาษาที่แสดงไม่เป็นภาษาไทย

 



Topic : 028250



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger



จาก https://www.thaicreate.com/tutorial/ajax-list-record-paging.html

ผมมีปัญหา
ว่ามันดึง db แล้วภาษาที่แสดงไม่เป็นภาษาไทย





Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-06-14 16:45:23 By : itmoamun View : 1611 Reply : 3
 

 

No. 1



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ปัญหา AJAX กับการรับค่าที่เป็นภาษาไทยหรือภาษาอื่นที่ไม่ใช่เป็นอักษรโรมัน
Quote:
การส่งค่าที่ไม่ใช่ตัวอักษรภาษาอังกฤษ (อักษรโรมัน) ผ่าน AJAX นั้นจะมีปัญหาในเรื่องการแสดงผลของภาษาไม่ถูกต้อง ดังตัวอย่างนี้

ส่งตัวอักษรภาษาไทยไป จะเห็นเป็นเหมือนบรรทัดข้างล่าง

%u0E14%u0E35%u0E43%u0E08%u0E14%u0E49%u0E27%u0E22 %u0E15%u0E31%u0E27%u0E2D%u0E31%u0E01%u0E29%u0E23%u0E2A%u0E32%u0E21%u0E32%u0E23%u 0E16%u0E2D%u0E48%u0E32%u0E19%u0E44%u0E14%u0E49%u0E16%u0E39%u0E01%u0E15%u0E49%u0E 2D%u0E07%u0E41%u0E25%u0E49%u0E27

วิธีแก้ (สำหรับ PHP)
เท่าที่ทราบมา ฟังก์ชั่นของ PHP ที่มีอยู่นั้นไม่สามารถแก้ไขปัญหานี้โดยตรงได้ จะต้องทำการเขียนฟังก์ชั่นขึ้นเอง

Code
function unicode_urldecode($url)
{
preg_match_all('/%u([[:alnum:]]{4})/', $url, $a);
foreach ($a[1] as $uniord)
{
$dec = hexdec($uniord);
$utf = '';

if ($dec < 128)
{
$utf = chr($dec);
}
else if ($dec < 2048)
{
$utf = chr(192 + (($dec - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
else
{
$utf = chr(224 + (($dec - ($dec % 4096)) / 4096));
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
$url = str_replace('%u'.$uniord, $utf, $url);
}
return urldecode($url);
}


จากนั้นก็ให้เรียกใช้ฟังก์ชั่นนี้ทำการถอดรหัส โดยค่าที่คืนมาจะเป็นตัวอักษรที่เข้ารหัส UTF-8 คราวนี้ก็สามารถแสดงผลภาษาที่ได้ถูกส่งผ่าน AJAX ได้ถูกต้องแล้วครับ

// ลองดูนะครับ หากผิดพลาดประการใด ขออภัยไว้ด้วยครับ
Refer : http://th.php.net/manual/en/function.urldecode.php#64676






Date : 2009-06-14 23:24:34 By : panyapol
 


 

No. 2



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

คือผมใส่ไม่ถูกครับรบกวนชี้แนะหน่อยครับ
ผมนำ code แบ่งเป็น 2 หน้า คือ หน้า ajax ที่ดึงค่าจาก db
Code
<?php
$strPage = $_POST["myPage"];
$strPage = $_POST["myPage"];

include "connect.php" ;
$objDB = mysql_select_db("itmoamun_index");
$strSQL = "SELECT * FROM itupdate ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);

$Per_Page = 2; // Per Page

$Page = $strPage;
if(!$strPage)
{
$Page=1;
}

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}

$strSQL .=" order by idUpdate ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<ul class="list2">
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<li><a href="<?=$objResult["linkUpdate"];?>" target="_blank"><img src="<?=$objResult["picUpdate"];?>" class="fleft" /></a>
<h5><a href="<?=$objResult["linkUpdate"];?>" target="_blank"><?=$objResult["storyUpdate"];?></a> </h5>
<span><?=$objResult["detailUpdate"];?></span>
</li>
<?
}
?>
</ul>
<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
echo " <a href=\"JavaScript:doCallAjax('$Prev_Page')\"><< Back</a> ";
}

for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href=\"JavaScript:doCallAjax('$i')\">$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href=\"JavaScript:doCallAjax('$Next_Page')\">Next >></a> ";
}
mysql_close($objConnect);
?>


และส่วนดึงค่า ajax มาแสดงผล ดังนี้
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<title>Untitled Document</title>
</head>
<script language="JavaScript">
var HttPRequest = false;

function doCallAjax(Page) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}

var url = 'AjaxPHPListRecordPaging2.php';
var pmeters = 'myPage='+Page;
HttPRequest.open('POST',url,true);

HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-Type", "text/plain;charset=TIS-620");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);


HttPRequest.onreadystatechange = function()
{

if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}

if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}

}

}
</script>
<body Onload="JavaScript:doCallAjax('1');">
<span id="mySpan"></span>
</body>
</html>


ซึ้งไม่รู้จะเพิ่มค่าดังกล่าวที่ชี้แนะมาให้ตรงไหน?
Date : 2009-06-15 09:15:38 By : itmoamun
 

 

No. 3



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

อ่า...รบกวนเทพผุ้รู้ชี้แนะด้วยคร๊าบ
Date : 2009-06-15 14:26:09 By : itmoamun
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : จาก Ajax List Record Paging (PHP+MySQL & ASP+Access) ว่ามันดึง db แล้วภาษาที่แสดงไม่เป็นภาษาไทย
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่