我需要檢查一個字符串是否符合代碼頁1250。檢查字符串是否符合代碼頁1250
我可以寫到MySQL,做這樣的檢查:
select id,name from test where name <> CONVERT(name USING cp1250);
這將發現不符合要求的字符串。
我能以某種方式在PHP中執行相同的操作嗎?
我需要檢查一個字符串是否符合代碼頁1250。檢查字符串是否符合代碼頁1250
我可以寫到MySQL,做這樣的檢查:
select id,name from test where name <> CONVERT(name USING cp1250);
這將發現不符合要求的字符串。
我能以某種方式在PHP中執行相同的操作嗎?
試試這個。
mb_convert_case($name, MB_CASE_LOWER, "Windows-1251")
也許
mb_convert_encoding($name,"Windows-1251")
實際使用的函數是[mb_check_encoding()](http://php.net/manual/en/function.mb-check-encoding.php)。但是mbstring不支持Windows-1250,而AFAIK Windows 1250!= Windows 1251. – Benjamin
我的理解是Windows 1251已經足夠接近1250.就像90%的匹配一樣。 – jarchuleta
我覺得他不是在尋找90%的比賽... – Benjamin
如果你能在MySQL中做到這一點,那麼就使從PHP到MySQL的呼叫。 – jarchuleta
我想避免往返數據庫,因爲我經常需要這樣做。 – Sharkie