勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPで半角カタカナの文字列を全角ひらがなに変換する方法

  PHP

郵便局の郵便番号データをMySQLに登録したいというケースがあった。また、郵便番号データの読み仮名は半角カタカナになっているが、こちらを全角ひらがなとして登録したい。調べたところMySQLでの対応は難しそうだが、PHPだと簡単に対応できそう。以下にPHPでの対応方法をメモ。

 

対応方法

ソースコード

<?php
$address = 'ホッカイドウ';
var_dump(mb_convert_kana($address, 'HV', 'UTF-8')); //string(18) "ほっかいどう"

注意点

第2引数の詳細は以下の通り。

  • H -> 「半角カタカナ」を「全角ひらがな」に変換
  • V -> 濁点・半濁点付きの文字を一文字に変換

Vも指定しない場合「ほっかいと゛う 」のように濁点付きの文字が2文字になってしまう点に注意。

 

リファレンス

mb_convert_kana

https://www.php.net/manual/ja/function.mb-convert-kana.php

 - PHP

  関連記事

PHPでPOST送信する際に多次元配列も送る方法
PHPでPOST送信する際に多次元配列も送る方法

PHPでPOST送信する際に多次元配列も送りたかった。ただ普通に送ろうとするとO ...

PHP8系で関数の引数が設定しやすくなる名前付き引数について
PHP8系で関数の引数が設定しやすくなる名前付き引数について

PHP8系で名前付き引数が導入されたということを最近知った。今までは「第〇引数」 ...

SendGridを使ってメールサーバを構築せずにPHPからメールを送信する方法
SendGridを使ってメールサーバを構築せずにPHPからメールを送信する方法

メールサーバを構築せずに独自ドメインのメールアドレスにてメール送信を行いたい。過 ...

formにhCaptchaを組み込み、PHPで結果を検証する方法
formにhCaptchaを組み込み、PHPで結果を検証する方法

お問い合わせフォーム等でGoogle reCAPTCHAではなくhCaptcha ...

PHPのOpenSSL関数で文字列の暗号・復号化を行う方法
PHPのOpenSSL関数で文字列の暗号・復号化を行う方法

だいぶ前にPHPでBlowfishアルゴリズムを用いた暗号化と復号化する方法をメ ...