ゲムキTOP > ブログTOP

ゲムキ開発ブログ

ゲムキ開発の裏側を書いていきます

ブログの記事投稿をタイムラインに追加

ハルポップ 2019-07-15 15:33:48 pv:54
ブログの記事を投稿した際に、タイムラインに追加されるように対応。

うまくいってるかな

スマホの絵文字を使えるようにする

ハルポップ 2019-07-15 15:11:49 pv:46
スマホの絵文字に対応してやるにはデータベースの文字コードの変更をする必要がある。
今までは「utf8_general_ci」という文字コードがセットされていた。
これは3バイト文字であり、スマホの絵文字には対応していない。
スマホの絵文字は4バイト文字の「utf8mb4_unicode_ci」にすると表示されるようになる。

phpmyadminを開き、単純に文字コードを変更しようとすると以下のような警告が出るので注意。

---
This operation will attempt to convert your data to the new collation. In rare cases, especially where a character doesn't exist in the new collation, this process could cause the data to appear incorrectly under the new collation; in this case we suggest you revert to the original collation and refer to the tips at Garbled Data.

Are you sure you wish to change the collation and convert the data?
---
↑なんか分からんから、実行せずにキャンセルする。ちなみに実行するとバイナリデータになっちゃう。


手順としては、まずテーブルの照合順序(文字コード)をutf8mb4_unicode_ciに変更。
次にカラムの照合順序を空白にして変更する。
すると空白にしたのに何故かutf8mb4_unicode_ciとして変更されている。

これで絵文字の保存は出来るようになるが、表示が「???」となって正常にされないので、PHP側で「SET NAMES utf8mb4」というSQL文を最初に発行するようにする。
これで完了。

日記で文字装飾タグを増やしてほしい の対応方法

ハルポップ 2019-07-15 15:00:39 pv:8
目安箱「日記で文字装飾タグを増やしてほしい」
https://www.game-kids.net/meyasubako/?action=look_q&q=1534853128

現在、HTMLのタグは使えない仕様となっており、文字の色や大きさを変える場合は独自のタグを使うようになっている。

例えば、文字のサイズを変える場合は
[size:ピクセル数]文字[/size]
と記入する。

同様にして太字や取り消し線のタグを追加すれば対応できるのだが、デメリットがある。
それは処理負荷だ。

タグは読み込み時に変換する仕様となっているため、タグが増えるとその分処理が増える。

そこで、HTMLタグをそのまま使えないかを考え、特定のタグだけ使えるように対応した。
これなら負荷は全くかからない。
書き込み時のコードを変更するだけ。

対応コードは以下のような感じだ。
変換されたタグの中から、特定のタグを元に戻してやる。
// 特定のタグだけ戻す
$content = str_replace( "&lt;u&gt;", "<u>", $content );
$content = str_replace( "&lt;/u&gt;", "</u>", $content );

以上