ติดต่อลงโฆษณา [email protected]

แสดงกระทู้

ส่วนนี้จะช่วยให้คุณสามารถดูกระทู้ทั้งหมดสมาชิกนี้ โปรดทราบว่าคุณสามารถเห็นเฉพาะกระทู้ในพื้นที่ที่คุณเข้าถึงในขณะนี้


ข้อความ - kaazoo

หน้า: [1]
1
อาจจะเป็นปัญหาเรื่อง utf-8 ครับ
พอมี error เมื่อเปิดด้วย ie จะกลายเป็นหน้าว่างๆ

ดูวิธี​แก้ที่กระทู้นี้ครับ​ http://smf.rcweb.net/index.php?topic=1753.0

2
ปัญหาเดียวกันครับ
ดูวิธีแก้ที่กระทู้นี้ครับ http://smf.rcweb.net/index.php?topic=1753.0

3
เพิ่งดาวน์โหลดไปใช้งาน เจอปัญหานี้เหมือนกัน

ปัญหาเกิดจากการใช้ charset เป็น utf-8 ทำให้มีการจัดเก็บตัวอักษรเพิ่มขึ้น วิธีการแก้ปัญหาสามารถแก้ได้หลายจุด หรืออาจจะต้องแก้พร้อมๆกัน
1. ในส่วนของ database mysql ถ้าหากเป็น utf8_bin อาจจะต้องไปแก้ใน​ table "smf_messages" ​จาก​ TINYTEXT ​เป็น MEDIUMTEXT
ข้อนี้เท่ากับเป็นการขยายขนาดฟิลด์ แต่ถ้าแก้แค่นี้ก็ยังคงเหมือนเดิม นอกจากจะเปลี่ยนสคริปตามที่คุณ terdsak บอก

2. การแก้ไขในส่วนของคำสั่ง
  เปิดไฟล์  /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));

ทั้งหมด 3 จุด แล้วเปลี่ยนตัวเลขจาก 100 ให้เพิ่มขึ้นเป็นซัก 300 - 500 แทน
ตรงนี้ทำให้มีการตัดคำให้ยาวขึ้น ซึ่งจะแก้ปัญหาได้ระดับหนึ่ง แต่จะยังมีปัญหาว่าถ้าเกิดมีการตั้งหัวข้อที่ยาวมากๆๆก็จะเจอปัญหาการตัดคำไม่ลงตัว กลายเป็นมีตัวประหลาดเหมือนเดิม

ั3. เปิดไฟล์ /Themes/default/Post.template.php

ประมาณบรรทัดที่ 426
   // Now show the subject box for this post.
   echo '
                     <tr>
                        <td align="right" style="font-weight: bold;', isset($context['post_error']['no_subject']) ? 'color: red;' : '', '" id="caption_subject">
                           ', $txt[70], ':
                        </td>
                        <td>
                           <input type="text" name="subject"', $context['subject'] == '' ? '' : ' value="' . $context['subject'] . '"', ' tabindex="', $context['tabindex']++, '" size="80" maxlength="80" />

ให้เปลี่ยนค่า maxlength ให้ลดลงเหลือซัก 50

สรุปแล้วเรื่องนี้เป็นปัญหาที่เกิดกับซอฟแวร์เกือบทุกตัวที่ใช้ utf-8 ครับ

ใครมีวิธีอื่นที่ง่ายๆ ช่วยมาโพสต์แลกเปลี่ยนกันด้วยคับ


หน้า: [1]