Getting a Quaternion to represent rotation from a Vector3f to another Vector3f

Strange for me, since I was sure I implemented the algorithm described in the Stack Overflow accepted answer! Look, I am multiplying the two vectors to get the x, y and z and then I get the w element as described in the post and then normalize… isn’t it so? (maybe I am misunderstanding something here). Then I adjust the current facing of the entity by the resulting rotation quaternion…

My original task is the same as in the linked video - I have a not so big spherical planet world, just about the size as it is in the video, and I want my character to walk upright on its surface. So the characters feet must always look toward the center of the planet and its head - toward the space. So I was thinking about that problem and looked for info and found the video, which implements this very thing in Unity3D.

Yet I was unable to properly implement the concept, however, starting from the link provided by jmaasing, I am looking into more matrials, and currently the best result is acheived by duplicating what is in there by that link. But still I’m not getting it quite right…