mb_substr中文日文長度相同,顯示長度不同

來源:互聯網
上載者:User
兩段中文和日本,從肉眼上看是不在同一位置結束的,但是使用mb_strlen函數擷取的長度確是相同的,測試代碼如下:

$str_0 = '[銀光字幕組][哆啦A夢新番Doraemon][006][GB][2005.05.20]秘密間諜大作戰&Hello!宇';$str_1 = 'Hello Kitty no Happy Birthday (ハローキティとミミィのハッピーバースデー) OVA.mp';$str_2 = 'ARR] Hello Kitty no Fushigi no Kuni no Alice (ハローキティの不思議の國の';$str_3 = '2014.myHD.六福喜事.Hello Babies.粵語中字.AC-3.1920x1080-MYfun4U.mkv';return mb_strlen($str_0, 'utf-8').'@'.mb_strlen($str_1, 'utf-8').'@'.mb_strlen($str_2, 'utf-8').'@'.mb_strlen($str_3, 'utf-8');

測試結果長度都是59,但是肉眼很明顯看到長度不統一啦,這樣的話就會造成mb_substr這個函數截取的資料長度不統一,在前端就會換行了。

大家是如何解決這個問題的?

回複內容:

兩段中文和日本,從肉眼上看是不在同一位置結束的,但是使用mb_strlen函數擷取的長度確是相同的,測試代碼如下:

$str_0 = '[銀光字幕組][哆啦A夢新番Doraemon][006][GB][2005.05.20]秘密間諜大作戰&Hello!宇';$str_1 = 'Hello Kitty no Happy Birthday (ハローキティとミミィのハッピーバースデー) OVA.mp';$str_2 = 'ARR] Hello Kitty no Fushigi no Kuni no Alice (ハローキティの不思議の國の';$str_3 = '2014.myHD.六福喜事.Hello Babies.粵語中字.AC-3.1920x1080-MYfun4U.mkv';return mb_strlen($str_0, 'utf-8').'@'.mb_strlen($str_1, 'utf-8').'@'.mb_strlen($str_2, 'utf-8').'@'.mb_strlen($str_3, 'utf-8');

測試結果長度都是59,但是肉眼很明顯看到長度不統一啦,這樣的話就會造成mb_substr這個函數截取的資料長度不統一,在前端就會換行了。

大家是如何解決這個問題的?

...我這裡程式輸出的是59...然後我每個都特地數了兩遍..都是59個字..mb_strlen並沒有問題...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.