Преобразование однобайтовой строки в двухбайтовую строку

Я хочу, чтобы строки Game преобразование Game. Эта строка является японской двухбайтовой строкой.

возможно ли достичь этого с помощью PHP? Если да, то как?

3 ответов


прежде всего,Game не является кодировкой ASCII, поэтому вам может потребоваться установить страницу Content-type заголовок, чтобы увидеть правильный выход:

header("Content-type: text/html; charset=utf-8");

затем вы можете преобразовать его с помощью этой функции

echo mb_convert_kana('Game', "R", 'UTF-8')

EDIT:

для MySQL я не мог найти конвертер, чтобы сделать то же самое. Однако вы все равно можете конвертировать его вручную на шестнадцатеричном уровне, например, вы можете получить слово Game такой

SELECT CHAR(0xefbca7, 0xefbd81, 0xefbd8d, 0xefbd85) as `Full Width`;

Итак, мы можем просто написать сопоставление функция в MySQL, которая заменяет символы, используя это стол


Ну, не могу сказать точно, правильно ли я понял ваш вопрос, но следующий консольный однострочный:

$ php -r 'var_dump(mb_convert_encoding("Game", "UCS-2"));'

дает мне следующее:

string(8) "0G0a0m0e"

это то, что вы хотите? Как уже сказал Марк Бейкер, Это просто случай mb_convert_encoding для вас.


вы можете попробовать эту функцию mb_convert_kana