:: JustUsers.net ::

:: คนทำเว็บ :: => Simple Machines Forum [SMF] => Language UTF-TIS => ข้อความที่เริ่มโดย: เซียวเหล่งนึ่งฯ ที่ 17, กรกฎาคม 2008, 02:43:38 PM

หัวข้อ: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 17, กรกฎาคม 2008, 02:43:38 PM
แก้ไขหัวข้อ  ยาวแล้วตัด ༯a>
สาเหตุ 
- เกิดจากฐานภาษาของโฮสต์กับบอร์ดที่ลงไม่ตรงกัน
ปัญหา 
- บางหัวข้อก้ยังเข้าไปได้ (แต่มันรำคาญสายตา)
- บางหัวข้อขาวจั๊ว

วิธีแก้

วิธีที่ 1 โดย thaipic    ที่มา  www.thaiseoboard.com (http://www.thaiseoboard.com)
อ้างถึง
ของผมใช้วิธีกำหนดคุณสมบัติของฟิวล์ subject เป็นแบบ text
และที่แก้ได้ชัวร์ๆคือ กำหนด Encoding จาก utf-8 เป็น tis-620 ไปเลยอ่ะครับ



วิธีที่ 2 โดย Thenetwork ที่มา www.thaiseoboard.com (http://www.thaiseoboard.com)
อ้างถึง
เป็นเพราะ field "subject" ใน table "smf_messages" มันเป็น TINYTEXT ครับ

เอาสคริปต์ sql ดังนี้ไปรัน เพื่อเปลี่ยนฟิลด์นี้ให้เป็น MEDIUMTEXT

ALTER TABLE `micnet_smf`.`smf_messages` MODIFY COLUMN `subject` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;


หรือ
เปิดไฟล์  /Sources/Post.php แล้วหาบรรทัดคำสั่ง

   // Make sure the subject isn't too long - taking into account special characters.
   if ($func['strlen']($form_subject) > 100)
      $form_subject = $func['substr']($form_subject, 0, 100);

   // At this point, we want to make sure the subject isn't too long.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));

   // Maximum number of characters.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));
ลองเปลี่ยนตัวเลขจาก 100 ให้เพิ่มขึ้นเป็นซัก 300 - 500 แทน

บอร์ดผมก็เคยเป็นครับ..CreDit Rcw




วิธีที่ 3  โดย au8ust  ที่มา  www.zone-it.com (http://www.zone-it.com)
อ้างถึง
แก้ได้ด้วยการเข้าไปที่ phpMyAdmin แล้วรัน
โค๊ด:
ALTER TABLE smf_messages
CHANGE COLUMN subject subject text;

จากนั้นเปิดไฟล์ Sources/Post.php แล้วหา
โค๊ด:
      // Make sure the subject isn't too long.
      if (strlen($form_subject) > 100)
         $form_subject = substr($form_subject, 0, 100);กับ
โค๊ด:
   // At this point, we want to make sure the subject isn't too long.  Stripslashes first to avoid a trailing slash.
   if (isset($_POST['subject']) && strlen(stripslashes($_POST['subject'])) > 100)
      $_POST['subject'] = addslashes(substr(stripslashes($_POST['subject']), 0, 100));
หาเจอแล้วก็ลบออกทั้งสองที่ หรือจะ comment ไว้ก็ได้


เสร็จแล้วไปไฟล์ Post.template.php ของธีมที่ใช้ แล้วหา
โค๊ด:
<input type="text" name="subject"', $context['subject'] == '' ? '' : ' value="' . $context['subject'] . '"', ' size="80" maxlength="80" tabindex="1" />
หาเจอแล้วก็ลบส่วนที่ระบุว่า maxlength="80" ออก




โค๊ด: [Select]
expertduck
19 ตุลาคม พ.ศ. 2552, 23.37 น.
เป็นโดย default หรือเปล่าครับลักษณะเหมือนโดน substr ตัดคำไทยแล้วมันขาด
ไปแก้ที่ /Sources/boardIndex.php
search:
โค๊ด: (php)
$row_board['short_subject'] = shorten_subject($row_board['subject'], 24);
แล้ว ใส่ // ข้างหน้าไว้นะครับ
โค๊ด:
//$row_board['short_subject'] = shorten_subject($row_board['subject'], 24);

2.0  สับ-บอร์ดอินเด็ก

ไปใช้ css ตัดแทนก็
โค๊ด: (css)
a.last_post{float:left;display:block;width:120px;overflow:hidden;white-space:nowrap}
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: bird_t ที่ 07, สิงหาคม 2009, 01:45:33 AM
เริ่มต้นเข้าไปจากตรงไหนครับที่บอกว่าให้เปิดไฟล์ Sources/Post.php ไม่ทราบจรองๆครับรบกวนหน่อย
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 07, สิงหาคม 2009, 02:52:04 AM
ถ้าตั้งแต่ต้นเลย ก็ 
- ใช้โปรแกรมเอฟทีพี  เข้าไปก็อบไฟล์  Post.php  มาจากโฟลเดอร์ Sources/  บนโฮสต์ของเรา
- เปิดไฟล์ด้วยโปรแกรมอีดิตพลัส  แล้วแก้โค๊ดตามนั้นได้เลย 

หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: baby_man ที่ 02, กุมภาพันธ์ 2010, 10:46:56 PM
ผมลองแก้ที่

เปิดไฟล์  /Sources/Post.php แล้วหาบรรทัดคำสั่ง

   // Make sure the subject isn't too long - taking into account special characters.
   if ($func['strlen']($form_subject) > 100)
      $form_subject = $func['substr']($form_subject, 0, 100);

   // At this point, we want to make sure the subject isn't too long.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));

   // Maximum number of characters.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));
ลองเปลี่ยนตัวเลขจาก 100 ให้เพิ่มขึ้นเป็นซัก 300 - 500 แทน

แก้เป็น 500  แล้วก็ยังไม่ได้อยู่ดี รบกวนผู้รู้หน่อยครับว่าต้องทำยังไงดี
มันเป็นแบบนี้ครับ

(http://img692.imageshack.us/img692/5179/00082p.jpg) (http://img692.imageshack.us/i/00082p.jpg/)
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: NoName ที่ 03, กุมภาพันธ์ 2010, 01:07:25 AM
ไม่ต้องไปแก้ที่ไฟล์ในเลยครับ

เข้าไปจัดการ Encoding ทุกๆ ฟิลด์ที่ใช้อักขระในฐานข้อมูลให้เป็น utf8_general_ci ให้หมดก็หายแล้ว
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: baby_man ที่ 03, กุมภาพันธ์ 2010, 08:02:11 AM
รบกวนขอวิธีเข้าไปจัดการ  Encoding  ในทุกๆ ฟิลด์หน่อยได้ไหมครับ 

ผมหากระทู้ไม่เจอครับ
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: NoName ที่ 03, กุมภาพันธ์ 2010, 09:57:00 AM
Encoding database ใน phpmyadmin >> dexmore.com/topic/164
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: baby_man ที่ 03, กุมภาพันธ์ 2010, 03:39:37 PM
 :cry:  แก้ไม่เป็นครับ 

มีวิธีที่ง่ายกว่านี้ไหมครับ  :crying:
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: NoName ที่ 03, กุมภาพันธ์ 2010, 04:00:36 PM
ถ้าทำให้ดูขนาดนั้นแล้วยังทำไม่ได้ แก้ไม่ได้..

ง่ายที่สุดที่ก็โอนตังค์มาให้ผม 1000 บาทครับ ผมจะแก้ให้ ไม่ใช่ค่าจ้าง ไม่ใช่ค่าแรง แต่เป็นค่า..

แพงนะครับค่าจุดจุดนี่  :cry: :cry: :cry:
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 03, กุมภาพันธ์ 2010, 04:26:01 PM
ลองก่อนสิ  คือถ้าเริ่มทำงานจากดาต้าเบสได้ ในอนาคตก็สามารถแก้ปัญหา+ปรับแต่งบอร์ดได้อีกมากมาย
เชื่อเหอะ เราก็งมมาจาก0เหมือนกัน
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: baby_man ที่ 03, กุมภาพันธ์ 2010, 11:55:21 PM
มั่วจนได้ดีเลยครับ 555  :yaahoo:

(http://img64.imageshack.us/img64/9713/00092.jpg) (http://img64.imageshack.us/i/00092.jpg/)
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: hmu111 ที่ 13, พฤษภาคม 2011, 01:05:59 PM
กว่าจะหาเจอครับ ขอบคุณมากครับผม  :yaahoo:
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: ็Hobbits70 ที่ 26, มิถุนายน 2011, 12:56:56 AM
ยืนยันวิธี  ที่ 1 ครับ คือไปแ้ก้  Smf_Subject  ใน PHPMyadmin  ให้เป็น Text ครับ   ใช้ได้ผล  แต่ก็เกือบ ต้อง --- >> :firstaid:



ขอบคุณ Just  ครับ หลายเรื่องเลยผมก็ผ่านได้เพราะ Just  ครับ ไม่เคยแทงกั๊กให้ปวดหัวเลย ขอบคุณจริง ๆ ครับ




หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: Sriiam ที่ 01, ตุลาคม 2011, 12:44:27 PM
คุณ ็Hobbits70

รบกวนบอกวิธีการทำแบบละเอียดได้ไหมครับ
เปิดไฟล์ ตรงไหน  แก้ตรงไหนครับ

ขอบคุณ :hitwall:
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: UnclEo ที่ 05, ตุลาคม 2011, 08:27:35 PM
ก็ลองตามลิงค์ที่แนะนำไปดูซิครับจะได้รู้ว่าวิธีมันเป็นอย่างไร
หัวข้อ: Re: แก้ไขหัวข้อ ยาวแล้วตัด ༯a>
เริ่มหัวข้อโดย: izui ที่ 16, ตุลาคม 2011, 04:06:37 PM
คือผมทำตามทั้ง 3 ขั้นตอนแล้ว แต่ก็ไม่เห็นได้เลยครับ

ช่วยด้วย  :cry: