วิธีแก้ปัญหา หัวข้อภาษาไทยบนเว็บ wordpress เป็น สี่เหลี่ยม

วิธีแก้ปัญหา หัวข้อภาษาไทยบนเว็บ wordpress เป็น สี่เหลี่ยม

วิธีแก้ปัญหา หัวข้อภาษาไทยบนเว็บ wordpress เป็น สี่เหลี่ยม

วิธีแก้ปัญหา การตัดข้อความด้วย substr แล้วเป็น สี่เหลี่ยม
ปกติ ถ้าเข้าใช้ ภาษาไทยปกติก็จะไม่เจอปัญหานี้ แต่ถ้าเป็นเว็บ หรือ ฐานข้อมูลที่ใช้ UTF-8
เวลาตัดข้อความด้วย substr ก็จะเจอปัญหา ตัวสุดท้ายกลายเป็นสี่เหลี่ยม ทางแก้คือต้องใช้ function ที่ทำงานกับข้อความ ที่เป็น multi-byte
เช่น
mb_substr(); http://www.mindphp.com/modules.php?name=PHP_Manual&page=function.mb-substr.html
หรือ
iconv_substr() http://www.mindphp.com/modules.php?name=PHP_Manual&page=function.iconv-substr.html

ตัวอย่างเช่น
echo substr($msg,0,124);
แทนด้วย
    echo mb_substr($msg,0,124,'UTF-8');
หรือ
    echo iconv_substr($msg, 0,124, "UTF-8");

ปกติภาษาอังกฤษจะเป็น 1 อักษรต่อ 1ไบต์
ภาษาไทยจะเป็น 1 ตัวอักษร ต่อ 1-3 ไบต์ เวลาตัดคำ มันเลยเป็นอย่างนั้น เช่น

"การพัฒนาโปรแกรมโดยผู้ใช้"
บังเอิญว่ามันไปตัดโดนตรงคำว่า "ผู้" ซึ่งมีขนาด 3 ไบต์ พอตัดออกปรับ มันก็ไม่รู้ว่า ตัวอักษรนี้คืออะไร ก็เลยใส่เป็นยูนิโค๊ดไว้แทน

ทางแก้

หาฟังก์ชั่นการตัดคำให้เจอ แล้วแก้มันด้วย mb_substr(); แทน substr();
รูปแบบการใช้

ตัวอย่าง
ตรง
<?php $short_title = substr(the_title('','',FALSE),0,40);

ลองแก้เป็น
<?php $short_title = mb_substr(the_title('','',FALSE),0,40,'UTF-8');

ของ gazpo_slider.php  อะครับ ลองนั่งแก้ ดูเน้อ

ถ้าตรง Recent  Popular  Comments ให้แก้ที่
posts_tabs.php

หรือ

ทุกที่ที่มี
substr(the_title('','',FALSE),0,40);

แก้เป็น
mb_substr(the_title('','',FALSE),0,40,'UTF-8');


ID=1435,MSG=1605


⭐️ เราให้คำแนะนำปรึกษา รักษาผลประโยชน์ให้ลูกค้า ของเรา
⭐️ เราอยู่เคียงข้างลูกค้าของเรา ช่วยเหลือ ดูแลบริการ
⭐️ เรารองรับช่องทางติดต่อมากมาย สะดวก เข้าถึงง่าย
⭐️ เราดำเนินธุรกิจยาวนานกว่า20 ปี คุณจึงมั่นใจได้
⭐️ คุณมีสามารถรับบริการทั้งจากบริษัทประกันเจ้าของสินค้า และ เรา (ตัวกลาง)

ไทย มีราว 80 บริษัทประกันภัย สินค้าที่แตกต่าง ทั้ง เงื่อนไข ราคา เคลม ความมั่นคง นโยบาย ฯลฯ
ขายผ่านตัวกลาง กว่า 500,000 ราย : ตัวแทน นายหน้า ธนาคาร บิ๊กซี โลตัส ค่ายรถยนต์ เฮ้าส์แบรนด์ ของประกันภัย หรือ ซื้อตรงกับบริษัทเจ้าของสินค้า
⭐️ ตัวอย่าง การบริการ กดดูที่ลิงค์นี้

"สิ่งที่ต้องคำนึงอันดับแรกในการซื้อประกัน คือ ตัวกลางประกันภัย ซึ่งจะเป็นที่ปรึกษา ช่วยเหลือ ดูแลเรา ตลอดอายุกรมธรรม์"

โปรดรอ

display:inline-block; position:relative;
โทร.(จ-ศ : 9-16) เว้นวันหยุดฯ , ลูกค้าเรา บริการ 24/7/365 , Monday เวลา 09:26:10am ซื้อประกัน 085-911-3737
Copyright © 2018 Cymiz.com., All rights reserved.นโยบาย,ข้อตกลงcymiz.com