Rudy, thanks for your opinion. After asking the question, I made some more research about normalization and reading your reply, first option makes more sense to me now. Although I am starting very simple, there is no reason why it wouldn't get big in the future if I can create something nice. That's why I am trying to do it right as much as possible from the beginning.
I also read about denormalization and that it might be considered for really big databases. I guess I shouldn't worry about it at this stage. Besides, there is the database sharding topic. I am not sure if a browser-based text RPG will require this but as a programmer you have to consider all possible scenarios right?
Theoretically speaking, let's imagine my game reached 1,000,000 players, each player has 2 characters (average) and each character has 20 items (average) in their inventory. Following the first option, character_items table will have 1,000,000 x 2 x 20 = 40,000,000 entries. To read/write data from the database, I guess I will need a lot of joins because there will be many related tables. In such a case, would you still think that the first option is the way to go? Thanks again.
By the way, don't all searches require a table scan? Or do you mean looking for a key (such as item_id) would be much faster than looking up the content of a cell which contains data such as "item1, item2, item3"