[英]Trim, lower case, upper case words and save in MongoDb
我正在嘗試將用戶提供的字符串保存到MongoDb中,但是在保存以進行標准化之前要這樣做:
ucwords(mb_strtolower(trim($name)))
但這使MongoDb拋出MongoException並帶有“æøå”之類的字符。
我以為“ mb_”可以使函數與UTF-8一起正常工作? 使用普通strtolower可以解決此問題。
謝謝
如果您使用的是PHP 5.4,則默認字符集已從ISO-8859-1更改為UTF-8。
除非您從$ name編碼的不是ISO-8859-1或UTF-8,否則strtolower應該為您做得完美
MongoDB始終期望使用UTF-8字符串。
正如@JvdBerg所說,這取決於您的PHP,但是默認情況下,PHP 5.4之前的版本不是UTF-8,因此您需要使用iconv
或utf8_encode
來“編碼”字符串。 您很可能使用的是舊的PHP,而該字符串實際上是ISO編碼的。
mb_
函數在執行轉換時不會考慮字符串,只會考慮多字節字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.