ผมมีข้อมูลเป็นชื่อต่าง ๆ ที่ผู้ใช้สร้างขึ้นเก็บไว้ใน mysql เก็บไว้แบบ tis620 ซึ่งเวลาดูจะเห็นอักขระที่ผู้ใช้พิมพ์ด้วย Alt+ตัวเลขต่าง ๆ ไม่ได้ หรือไม่ถูกต้อง (เช่น เว้นวรรคบางคนไม่ใช้ spacebar แต่จะใช้ Alt+160 แทน)
พอเราจะให้มันแสดงผลผ่านหน้าเวปด้วย php+html มันก็จะทำให้ browser แสดงผลอักขระนี้ไม่ถูกต้อง เช่นเป็นช่องสีเหลี่ยงใน IE เป็นต้น
ขอคำแนะนำหน่อยครับ ว่าจะทำอย่างไงให้อักขระพวกนี้แสดงผลได้ถูกต้องตรงกับที่เขาพิมพ์มา
ขอบคุณครับ
การแสดงอักขระพิเศษ (พิมพ์ผ่านคีย์บอร์ดด้วยปุ่ม Alt+ตัวเลข) บนเวปทำอย่างไงครับ
Moderator: mindphp, ผู้ดูแลกระดาน
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41247
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: การแสดงอักขระพิเศษ (พิมพ์ผ่านคีย์บอร์ดด้วยปุ่ม Alt+ตัวเลข) บนเวปทำอย่างไงครับ
ขอดูตัวอย่างข้อมูลจริงๆ หน่อยครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
Re: การแสดงอักขระพิเศษ (พิมพ์ผ่านคีย์บอร์ดด้วยปุ่ม Alt+ตัวเลข) บนเวปทำอย่างไงครับ
ดูชื่อบรรทัดที่ 3 จริง ๆ ต้องชื่อ • อั ง รี ดู นั ง ต์ • (ตรงเว้นวรรคระหว่างตัวอักษรเขาใช้ Alt+160 ครับ แต่พอผ่าน code ด้านล่างแสดงบนเวป มันเป็นสีเหลี่ยมใน IE เป็นเครื่องหมายอื่นใน Firefox)
ด้านบนคือภาพจาก 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" />
</head>
<body>
<?php
$hostdb = "***";
$userdb = "***";
$passdb = "***";
$db_game = "***";
mysql_connect($hostdb, $userdb, $passdb) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($db_game) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES TIS620");
//mysql_query("SET character_set_results=utf8");
//mysql_query("SET character_set_client=utf8");
//mysql_query("SET character_set_connection=utf8");
$SQL = mysql_query("
SELECT
sql_rank.pvp,
`char`.name
FROM
sql_rank
Inner Join `char`
ON (sql_rank.char_id=char.char_id)
ORDER BY
sql_rank.pvp DESC
LIMIT 3
");
while( $fetch = mysql_fetch_array( $SQL )){
$name = $fetch [name];
$pvp_point = $fetch [pvp];
echo htmlspecialchars($name,ENT_COMPAT,TIS-620)." $name [คะแนน: $pvp_point]<br />\n";
}
echo "รหัส 65 ใช้ฟังก์ชั่น Chr(65) :".chr(65).":<br>";
echo "รหัส 161 ใช้ฟังก์ชั่น Chr(161) :".chr(161).":<br>";
echo "รหัส 160 ใช้ฟังก์ชั่น Chr(160) :".chr(149).":<br><hr>";
echo "อักษร A ใช้ฟังก์ชั่น Ord(A) :".ord(A)."<br>";
echo "อักษร ก ใช้ฟังก์ชั่น Ord(ก) :".ord(ก)."<br><hr>";
$string = "bamboolabcode";
$arr = str_split ( $string, 1 );
$run = str_split ( $name, 1 );
print_r ( $arr );
print_r ( $run );
echo ord($run[2]);
?>
</body>
</html>
โค้ด: เลือกทั้งหมด
$hostdb = "***";
$userdb = "***";
$passdb = "***";
$db_game = "***";
mysql_connect($hostdb, $userdb, $passdb) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($db_game) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES TIS620");
//mysql_query("SET character_set_results=utf8");
//mysql_query("SET character_set_client=utf8");
//mysql_query("SET character_set_connection=utf8");
$SQL = mysql_query("
SELECT
sql_rank.pvp,
`char`.name
FROM
sql_rank
Inner Join `char`
ON (sql_rank.char_id=char.char_id)
ORDER BY
sql_rank.pvp DESC
LIMIT 3
");
while( $fetch = mysql_fetch_array( $SQL )){
$name = $fetch [name];
$pvp_point = $fetch [pvp];
echo htmlspecialchars($name,ENT_COMPAT,TIS-620)." $name [คะแนน: $pvp_point]<br />\n";
}
หมายเหตุ: ผมไม่ได้มีความรู้เรื่อง mysql กับ PHP มากนัก จริง ๆ มีน้อย เพียงแต่พอเข้าใจหลักการ และเขียน script ของเกมพอได้ ซึ่งตัว script มันก็มาจากภาษา C อีกทีแต่ไม่ได้มีความสามารถมากอะไร มีขอบเขตจำกัด ทำให้ผมเขียนได้ และเข้าใจหลักการอยู่บ้าง แต่ลงลึกระดับพวกนี้ผมไม่สามารถแก้ไขได้ครับ
ขอบคุณครับ
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41247
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: การแสดงอักขระพิเศษ (พิมพ์ผ่านคีย์บอร์ดด้วยปุ่ม Alt+ตัวเลข) บนเวปทำอย่างไงครับ
แบบนี้้ต้องเขียน function มาแปลง Alt+*** เป็น ตัวอักษร
แล้วล่ะครับ
แล้วล่ะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
Re: การแสดงอักขระพิเศษ (พิมพ์ผ่านคีย์บอร์ดด้วยปุ่ม Alt+ตัวเลข) บนเวปทำอย่างไงครับ
ขอบคุณครับ เดี๋ยวผมคงต้องค่อย ๆ ทยอยดูว่า function ไหนใน CP ที่มันแปลงตรงนี้ได้ อาจจะนานหน่อย -*- เพราะ cp เขาเขียนไว้มีความสามารถและรายละเอียดค่อนข้างเยอะ แต่อย่างน้อยก็สบายใจขึ้นว่า มาถูกทาง
Re: การแสดงอักขระพิเศษ (พิมพ์ผ่านคีย์บอร์ดด้วยปุ่ม Alt+ตัวเลข) บนเวปทำอย่างไงครับ
เขียนเองขึ้นมาใหม่ก็ได้ครับ
ใช้ function เกี่ยวกับการค้นหาและแทนที่เข้ามาช่วยอีกต่อหนึ่ง
ใช้ function เกี่ยวกับการค้นหาและแทนที่เข้ามาช่วยอีกต่อหนึ่ง
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 110