Rozbicie słów w językach bez spacji między słowami (np. Azjatyckie)?

Chciałbym, aby wyszukiwanie pełnotekstowe MySQL działało z tekstem japońskim i chińskim, a także z każdym innym językiem. Problem polega na tym, że te języki i prawdopodobnie inne języki zazwyczaj nie mają białej przestrzeni między słowami. Wyszukiwanie nie jest przydatne, gdy musisz wpisać to samo zdanie, co w tekście.

Nie mogę po prostu umieścić spacji między każdą postacią, ponieważ angielski też musi działać. Chciałbym rozwiązać ten problem z PHP lub MySQL.

Czy mogę skonfigurować MySQL do rozpoznawania znaków, które powinny być ich własnymi jednostkami indeksującymi? Czy istnieje moduł PHP, który rozpoznaje te znaki, więc mogę po prostu rzucić wokół nich spacje na indeks?

Aktualizacja

Częściowe rozwiązanie:

$string_with_spaces =
  preg_replace( "/[".json_decode('"\u4e00"')."-".json_decode('"\uface"')."]/",
  " $0 ", $string_without_spaces );

To sprawia, że ​​klasa postaci z przynajmniej niektórych postaci, które muszę traktować specjalnie. Powinienem chyba wspomnieć, że można zignorować indeksowany tekst.

Czy ktoś zna wszystkie zakresy znaków, które muszę wstawić dookoła?

Ponadto musi istnieć lepszy, przenośny sposób reprezentowania tych znaków w PHP? Kod źródłowy w dosłownym Unicode nie jest idealny; Nie rozpoznam wszystkich postaci; mogą nie renderować na wszystkich maszynach, z których muszę korzystać.

questionAnswers(2)

yourAnswerToTheQuestion